| 开发者 | outscoreagent |
|---|---|
| 更新时间 | 2026年5月26日 22:34 |
| PHP版本: | 8.1 及以上 |
| WordPress版本: | 7.0 |
| 版权: | GPL-2.0+ |
| 版权网址: | 版权信息 |
publish, draft, trash)outscoreagent folder to your /wp-content/plugins/ directory.Yes. This plugin is the WordPress-side component of the OutscoreAgent platform. You need an active OutscoreAgent account and at least one connected site to use this plugin.
Yes. All API requests from the OutscoreAgent platform must be made over HTTPS to protect your bearer token in transit. The plugin will reject requests made over plain HTTP in production environments.
The plugin stores:
Only post-status change notifications, and only for posts that OutscoreAgent itself originally published. See the External services section for the exact payload and triggers. No user personal data or post content is transmitted.
Error logs are stored in two places:
wp-content/debug.log file (requires WP_DEBUG_LOG to be enabled in wp-config.php)Go to Settings → OutscoreAgent Publisher and click Revoke Token. This immediately invalidates the current token. Generate a new token and update your OutscoreAgent platform settings to resume publishing.
Yes. OutscoreAgent has a free tier that includes core AI content generation and publishing features, so you can try the full workflow without a credit card. New accounts also receive a free trial of premium features. Visit outscoreagent.com for current plan details.
SEO decay happens when published articles gradually lose rankings due to outdated information, increased competition, or changing search intent. OutscoreAgent monitors your content performance and can automatically refresh declining articles — updating facts, improving structure, and republishing through this plugin — so your rankings stay competitive without manual effort.
Yes. Each site in a multisite network has its own independent token and settings. There are no network-level settings.
sanitize_settings callback used truthiness checks to distinguish programmatic writes from form submissions; when revoke_token() set token_hash to an empty string the sanitizer treated it as absent and silently restored the old hash. Switched to array_key_exists() so an explicitly-set empty value is persisted.languages/ are now loaded explicitly via load_plugin_textdomain() on init. WordPress' just-in-time loader only checks the global wp-content/languages/plugins/ directory, so without this call the bundled .mo files were never picked up.Project-Id-Version headers updated from 1.5.3 to 1.5.4; typographic quote escaping corrected in de_DE, da_DK, and nl_NL translations.autoload set to false on publish log and IndexNow route health options to prevent alloptions cache invalidation storms on sites with persistent object caching (Redis/Memcached).X-Forwarded-Proto detection in HTTPS enforcement for Cloudflare Flexible SSL and other reverse-proxy TLS termination setups.DISABLE_WP_CRON is true.callback_url and callback_token fields are now editable after initial setup (previously required DB intervention to change).the_content filter callback that prepends the featured-image credit now passes its returned HTML through wp_kses_post() before concatenation. The credit block was already built from escaped fragments (esc_html / esc_url / esc_attr around the photographer name, URL, and source label), but the wordpress.org review process requires the escape to be visible at the filter callback's return site, not only inside the helpers that assemble the string.outscoreagent-publisher to outscoreagent to match the WordPress.org plugin slug. All translation strings, the language template (languages/outscoreagent.pot), and the distribution zip's top-level folder are updated. Internal storage keys (outscoreagent_settings, outscoreagent_publish_log) are unchanged, so existing installs preserve their token and configuration.register_setting() sanitize callback now runs sanitize_text_field() on the programmatically-written site_id and token_hash values before persisting them.GET /status REST endpoint now returns only { success, plugin_version } to unauthenticated callers. WordPress/PHP versions, site name, post types, categories, and token state are returned only when the request carries a valid API token. The endpoint remains public so the OutscoreAgent platform can detect the plugin before a token is configured.Plugin URI: header from the main plugin file. It pointed to the same URL as Author URI:, which the WordPress.org reviewer flagged. Author URI: is retained so users can find the plugin author; a dedicated plugin page can be added back later via Plugin URI: once one exists.outscoreagent-publisher to match the WordPress.org slug. Internal storage keys (settings, publish log) and the brand prefix on functions/classes are unchanged, so existing installs keep their token and configuration after upgrading.?page=outscoreagent-publisher (was ?page=outscoreagent). The "Settings" link on the Plugins page is updated automatically; refresh any direct bookmarks./<key>.txt URL from inside WordPress and classify the result (ok, not_found, forbidden, wrong_body, redirected, server_error, loopback_failed). Each status comes with a one-line remediation hint so a customer can tell whether a route failure is local (cache, WAF, hijacked hook) or external (CDN, DNS, reverse proxy).template_redirect at priority <= 1, which could short-circuit the request before the IndexNow handler runs. Surfaced only when the loopback probe is failing, to keep the page calm in the happy path.flush_rewrite_rules() cannot install our rule (.htaccess unwritable, mod_rewrite disabled, nginx misconfigured), a clear notice now appears on the Settings tab instead of failing silently.X-OutscoreAgent-Token header in addition to Authorization: Bearer. The custom header sidesteps third-party JWT auth plugins (e.g. "JWT Authentication for WP-API") which intercept any Authorization: Bearer … value and reject our osk_ tokens with jwt_auth_invalid_token / "Wrong number of segments" before our route handler can run. The OutscoreAgent platform now sends the new header by default; the Bearer fallback is retained for backwards compatibility._thumbnail_ext_url post meta) is retained.