{"id":359686,"date":"2026-09-05T13:49:48","date_gmt":"2026-09-05T13:49:48","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/adstn-auto-poster\/"},"modified":"2026-09-05T14:37:59","modified_gmt":"2026-09-05T14:37:59","slug":"adstn-auto-poster","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/adstn-auto-poster\/","author":16870397,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.0.1","stable_tag":"1.0.1","tested":"7.1","requires":"5.8","requires_php":"7.4","requires_plugins":null,"header_name":"ADStn Auto Poster","header_author":"ADStn Developer Team","header_description":"Auto-publish and synchronize WordPress articles to the ADStn social platform seamlessly via Developer REST API & OAuth 2.0.","assets_banners_color":"161c3b","last_updated":"2026-09-05 14:37:59","external_support_url":"","external_repository_url":"","donate_link":"https:\/\/www.adstn.ovh","header_plugin_uri":"https:\/\/github.com\/ADStn-Network\/adstn-auto-poster","header_author_uri":"https:\/\/www.adstn.ovh","rating":0,"author_block_rating":0,"active_installs":0,"downloads":46,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.0":{"tag":"1.0.0","author":"mrghozzi","date":"2026-09-05 14:31:12","revision":3682528},"1.0.1":{"tag":"1.0.1","author":"mrghozzi","date":"2026-09-05 14:37:59","revision":3682538}},"upgrade_notice":{"1.0.1":"<p>Recommended update: Fixes API authorization header delivery in restricted hosting environments, enhances OAuth 2.0 callback processing, and improves compatibility.<\/p>","1.0.0":"<p>Initial official release on WordPress.org.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3682500,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3682500,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256},"icon.svg":{"filename":"icon.svg","revision":3682500,"resolution":false,"location":"assets","locale":false}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3682500,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3682500,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.0","1.0.1"],"block_files":[],"assets_screenshots":[],"screenshots":{"1":"Overview of connected account profile, follower counters, and publishing metrics.","2":"OAuth 2.0 one-click connect and manual bearer token fallback options.","3":"Post types, category filters, and default privacy settings.","4":"Dynamic template editor with live simulation feed card.","5":"Detailed log table with inspectable request\/response payloads and retry action.","6":"Sidebar controls in Gutenberg and Classic editor for per-post overrides and instant sharing."}},"plugin_section":[],"plugin_tags":[279291,2015,2016,14266,680],"plugin_category":[],"plugin_contributors":[279292],"plugin_business_model":[],"class_list":["post-359686","plugin","type-plugin","status-publish","hentry","plugin_tags-adstn","plugin_tags-auto-post","plugin_tags-auto-publish","plugin_tags-crosspost","plugin_tags-social-share","plugin_contributors-mrghozzi","plugin_committers-mrghozzi"],"banners":{"banner":"https:\/\/ps.w.org\/adstn-auto-poster\/assets\/banner-772x250.png?rev=3682500","banner_2x":"https:\/\/ps.w.org\/adstn-auto-poster\/assets\/banner-1544x500.png?rev=3682500","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":"https:\/\/ps.w.org\/adstn-auto-poster\/assets\/icon.svg?rev=3682500","icon":"https:\/\/ps.w.org\/adstn-auto-poster\/assets\/icon.svg?rev=3682500","icon_2x":false,"generated":false},"screenshots":[],"raw_content":"<!--section=description-->\n<p><strong>ADStn Auto Poster<\/strong> is a professional WordPress plugin designed to seamlessly auto-publish and synchronize your WordPress posts, articles, and custom post types with the <strong>ADStn<\/strong> social platform (<a href=\"https:\/\/www.adstn.ovh\">https:\/\/www.adstn.ovh<\/a>).<\/p>\n\n<p>Increase your reach, boost social engagement, and drive traffic back to your website automatically every time you publish new content.<\/p>\n\n<h3>\u2728 Key Features:<\/h3>\n\n<ul>\n<li><strong>Seamless OAuth 2.0 Authentication<\/strong>: One-click authorization flow with secure token exchange and automated token refresh (<code>refresh_token<\/code>).<\/li>\n<li><strong>Direct Access Token Support<\/strong>: Optional manual bearer token input for developers and custom setups.<\/li>\n<li><strong>Smart Content Template Builder<\/strong>: Fully customizable post templates supporting dynamic tags:\n\n<ul>\n<li><code>{title}<\/code> - Post title<\/li>\n<li><code>{url}<\/code> - Direct permalink to the post<\/li>\n<li><code>{excerpt}<\/code> - Post excerpt or trimmed summary (configurable character length)<\/li>\n<li><code>{hashtags}<\/code> - Automatically generated hashtags<\/li>\n<li><code>{author}<\/code> - Post author display name<\/li>\n<li><code>{site_name}<\/code> - WordPress site title<\/li>\n<li><code>{categories}<\/code> - Comma-separated post categories<\/li>\n<li><code>{tags}<\/code> - Comma-separated post tags<\/li>\n<\/ul><\/li>\n<li><strong>Live Feed Simulation Preview<\/strong>: Interactive real-time preview showing exactly how your post will render on the ADStn platform before publishing.<\/li>\n<li><strong>Intelligent Hashtag Generator<\/strong>: Automatically converts WordPress tags and categories into clean, social-friendly <code>#hashtags<\/code>.<\/li>\n<li><strong>Granular Filtering &amp; Publishing Rules<\/strong>:\n\n<ul>\n<li>Select supported post types (Posts, Pages, Custom Post Types).<\/li>\n<li>Filter by category inclusion and exclusion.<\/li>\n<li>Choose trigger events (on first publish or on post updates).<\/li>\n<li>Set default ADStn post privacy (<code>public<\/code>, <code>followers<\/code>, or <code>private<\/code>).<\/li>\n<\/ul><\/li>\n<li><strong>Post Editor Metabox (Sidebar)<\/strong>:\n\n<ul>\n<li>Enable\/disable auto-publishing on a per-post basis.<\/li>\n<li>Write a custom message overriding the default template for specific posts.<\/li>\n<li>Instant \"Share to ADStn Now\" AJAX button to share immediately without reloading.<\/li>\n<li>View previous publishing date, status, and error logs directly inside the editor.<\/li>\n<\/ul><\/li>\n<li><strong>Detailed Activity &amp; Sync Logs<\/strong>:\n\n<ul>\n<li>Full audit trail of every publishing attempt with status badges (<code>Success<\/code>, <code>Failed<\/code>, <code>Pending<\/code>).<\/li>\n<li>Inspect full request payloads and API responses for easy troubleshooting.<\/li>\n<li>One-click \"Retry\" action for failed attempts.<\/li>\n<\/ul><\/li>\n<li><strong>Modern &amp; Multilingual Dashboard<\/strong>:\n\n<ul>\n<li>Clean, responsive UI with Glassmorphism styling and dark\/light accents.<\/li>\n<li>100% WordPress i18n\/l10n standard compliant with <code>.pot<\/code> template for seamless community translations via translate.wordpress.org.<\/li>\n<\/ul><\/li>\n<\/ul>\n\n<h3>Third-Party Services<\/h3>\n\n<p>This plugin integrates with and connects to the <strong>ADStn Developer Platform<\/strong> (https:\/\/www.adstn.ovh) in order to publish articles and manage social account connectivity.<\/p>\n\n<ul>\n<li><strong>Service Name<\/strong>: ADStn (https:\/\/www.adstn.ovh)<\/li>\n<li><strong>Purpose<\/strong>: User OAuth 2.0 authentication, profile validation, and publishing post content to the authenticated user's ADStn feed.<\/li>\n<li><strong>Data Transmitted<\/strong>: Post title, URL, post excerpt, generated hashtags, and user OAuth tokens. No private site data or visitor information is sent.<\/li>\n<li><strong>Terms of Service<\/strong>: https:\/\/www.adstn.ovh\/terms<\/li>\n<li><strong>Privacy Policy<\/strong>: https:\/\/www.adstn.ovh\/privacy<\/li>\n<\/ul>\n\n<!--section=installation-->\n<ol>\n<li>Upload the <code>adstn-auto-poster<\/code> directory to your WordPress plugins directory (<code>\/wp-content\/plugins\/<\/code>).<\/li>\n<li>Activate the plugin through the <strong>Plugins<\/strong> menu in WordPress.<\/li>\n<li>Navigate to <strong>ADStn Poster<\/strong> &rarr; <strong>Connection<\/strong> in your WordPress admin menu.<\/li>\n<li>Create an application in the ADStn Developer Platform at <code>https:\/\/www.adstn.ovh\/developer\/apps\/create<\/code>:\n\n<ul>\n<li>Set your App Name and Website Domain.<\/li>\n<li>Copy the <strong>Authorized Redirect URI<\/strong> displayed in the plugin settings and paste it into the <strong>Redirect URIs<\/strong> field on ADStn.<\/li>\n<li>Enable the required scopes: <code>user.identity.read<\/code>, <code>user.content.write<\/code>.<\/li>\n<\/ul><\/li>\n<li>Copy your <strong>Client ID<\/strong> and <strong>Client Secret<\/strong> into the plugin settings and click <strong>Connect &amp; Authorize with ADStn<\/strong>.<\/li>\n<li>That's it! Your published posts will now automatically sync to your ADStn account.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"does%20this%20plugin%20require%20an%20adstn%20account%3F\"><h3>Does this plugin require an ADStn account?<\/h3><\/dt>\n<dd><p>Yes, you need an active account on <a href=\"https:\/\/www.adstn.ovh\">https:\/\/www.adstn.ovh<\/a> and must register an app in the Developer Platform.<\/p><\/dd>\n<dt id=\"how%20does%20the%20token%20refresh%20work%3F\"><h3>How does the token refresh work?<\/h3><\/dt>\n<dd><p>The plugin handles OAuth 2.0 token expiration automatically. If your access token is near expiration, the plugin uses the refresh token behind the scenes without interrupting your publishing workflow.<\/p><\/dd>\n<dt id=\"can%20i%20exclude%20specific%20categories%20from%20being%20published%3F\"><h3>Can I exclude specific categories from being published?<\/h3><\/dt>\n<dd><p>Yes. In <strong>ADStn Poster<\/strong> &rarr; <strong>Publish Rules<\/strong>, you can select specific categories to include or exclude.<\/p><\/dd>\n<dt id=\"can%20i%20share%20a%20post%20that%20was%20published%20earlier%3F\"><h3>Can I share a post that was published earlier?<\/h3><\/dt>\n<dd><p>Yes. Open the post in the WordPress editor, scroll down to the <strong>ADStn Auto Poster<\/strong> sidebar metabox, and click <strong>Share to ADStn Now<\/strong>.<\/p><\/dd>\n<dt id=\"is%20this%20plugin%20translation-ready%3F\"><h3>Is this plugin translation-ready?<\/h3><\/dt>\n<dd><p>Yes. The plugin is 100% internationalized with a template <code>.pot<\/code> file included in <code>\/languages<\/code> and is fully ready for translate.wordpress.org.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.1<\/h4>\n\n<ul>\n<li>Fix: Enhanced API Authorization header delivery resilience with fallback query parameters and request payload support for Apache\/FastCGI environments.<\/li>\n<li>Fix: Streamlined OAuth 2.0 scopes to <code>user.identity.read<\/code> and <code>user.content.write<\/code>, eliminating Web Application Firewall (WAF) and ModSecurity false-positive blocks.<\/li>\n<li>Fix: Added fail-early state token validation in the OAuth callback handler for improved CSRF security.<\/li>\n<li>Fix: Improved backward compatibility with WordPress 5.8+ by replacing <code>str_contains()<\/code> with <code>strpos()<\/code>.<\/li>\n<li>Security: Hardened input sanitization and unslashing for incoming query parameters with full WordPress Coding Standards (WPCS) compliance.<\/li>\n<li>Tweak: Updated admin connection and setup guide views to reflect required OAuth scopes.<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release.<\/li>\n<li>Full integration with ADStn Developer REST API v1 and OAuth 2.0 Authorization Code Flow.<\/li>\n<li>Smart template engine with dynamic tags and hashtag generator.<\/li>\n<li>Real-time simulated feed preview.<\/li>\n<li>Post editor sidebar metabox with AJAX instant share.<\/li>\n<li>Comprehensive activity logging and error inspection with one-click retry.<\/li>\n<li>Full WordPress i18n\/L10n multilingual support (English &amp; Arabic).<\/li>\n<\/ul>","raw_excerpt":"Auto-publish WordPress articles and content directly to the ADStn social platform via Developer REST API &amp; OAuth 2.0.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/359686","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=359686"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/mrghozzi"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=359686"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=359686"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=359686"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=359686"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=359686"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=359686"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}