Automatically shares the post title or custom message and a link to the post to X/Twitter.
Autopost for X (formerly Autoshare for Twitter) automatically shares your posts to X/Twitter as soon as they’re published. Once you hit the Publish button, the plugin sends your post’s title, featured image, and link to X/Twitter, along with a custom message.
Unlike a myriad of other social media, multitool solutions, Autopost for X is built solely for X/Twitter. It focuses on doing one thing and does it well, with the code and interface craftsmanship we apply to every project.
With Autopost for X, developers can further customize nearly everything about the posts, including the image, author, and link, using an extensive set of hooks built into the code. Among its other features, the WordPress plugin:
Disclaimer:TWITTER, TWEET, RETWEET and the Twitter logo are trademarks of Twitter, Inc. or its affiliates.
When using with 10up’s Distributor plugin, posts that are distributed will not be autoposted if they are already posted to X/Twitter from the origin site. Autopost for X tracks posts that have been posted to X/Twitter in post meta to avoid “double posting”. To avoid this behavior, use the dt_blacklisted_meta
filter to exclude the ‘autoshare_for_twitter_status’ meta value from being distributed :
add_filter( 'dt_blacklisted_meta', function( $blacklisted_metas ) { $blacklisted_metas[] = 'autoshare_for_twitter_status'; return $blacklisted_metas; } )
Note: Posts and pages are supported by default. Developers can use the autoshare_for_twitter_default_post_types
filter to change the default supported post types
Custom post types can now be opted into autopost features like so:
function opt_my_cpt_into_autoshare() { add_post_type_support( 'my-cpt', 'autoshare-for-twitter' ); } add_action( 'init', 'opt_my_cpt_into_autoshare' );
In addition, adding support while registering custom post types also works. Post types are automatically set to autopost. Future versions of this plugin could allow this to be set manually.
While the autopost feature can be opted into for post types using the above filter, by default the editor still has to manually enable autopost during the post prepublish flow. The autoshare_for_twitter_enabled_default
filter allows autopost to be enabled by default for all posts of a given post type. Editors can still manually uncheck the option during the publishing flow.
Example:
function enable_autoshare_by_default_for_core_post_type( $enabled, $post_type ) { if ( 'post' === $post_type ) { return true; } return $enabled; } add_filter( 'autoshare_for_twitter_enabled_default', 'enable_autoshare_by_default_for_core_post_type', 10, 2 );
Additional technical details can be found in our GitHub repository.
Settings
> Autopost for X
.Yes, yes it does! For more details on this, see #44.
Yes, the plugin is compatible with X/Twitter API v2.
There are a few potential reasons for this error:
1. Incorrect X/Twitter API credentials: Please ensure that you have entered the correct X/Twitter API credentials.
2. Deprecated access levels: If you are still using the old X/Twitter access levels (Standard (v1.1), Essential (v2), Elevated (v2), etc…), you must migrate to the new access levels (Free, Basic, Pro, etc.). Please make sure to migrate to the new access levels to ensure uninterrupted functionality. Here’s how you can do it:
1. Go to the following URL: https://developer.twitter.com/en/portal/products 2. Look for the "Downgrade" button. 3. Click on it to migrate to the free access level.
If you’re seeing the error message “429: Too Many Requests” it indicates that you have exceeded the usage limits of Twitter’s Free API access. With the Free API, you are allowed 1,500 Posts per month and 50 requests within a 24-hour period. Since you have surpassed the daily limit, we kindly advise waiting for 24 hours before attempting to post again.
To avoid encountering this error in the future and to have higher usage limits, we recommend considering a subscription to either the Basic or Pro access level. These access levels provide increased quotas and additional benefits to accommodate your needs. For more information on X/Twitter API access levels, you can visit this link: https://developer.twitter.com/en/products/twitter-api.
autoshare_for_twitter_post_url
filter (props @justinmaurerdotdev, @iamdharmesh via #324).express
from 4.18.2 to 4.19.2 (props @dependabot, @iamdharmesh via #321).follow-redirects
from 1.15.5 to 1.15.6 (props @dependabot, @iamdharmesh via #321).ip
from 1.1.8 to 1.1.9 (props @dependabot, @iamdharmesh via #321).webpack-dev-middleware
from 5.3.3 to 5.3.4 (props @dependabot, @iamdharmesh via #321).Autoshare for Twitter rebranded / renamed to Autopost for X.
* Changed: Updated repo automator workflow (props @iamdharmesh, @peterwilsoncc via #273).
* Changed: Bump Cypress
version from 11.2.0 to 13.0.0 (props @iamdharmesh, @Sidsector9 via #281).
* Changed: Bump @10up/cypress-wp-utils
version from 0.1.0 to 0.2.0 (props @iamdharmesh, @Sidsector9 via #281).
* Changed: Bump @wordpress/env
version from 5.7.0 to 8.6.0 (props @iamdharmesh, @Sidsector9 via #281).
* Changed: Replaced the custom build process with WP-Scripts (props @iamdharmesh, @peterwilsoncc, @ravinderk via #282).
* Changed: Disabled auto-sync for pull requests with the target branch (props @iamdharmesh, @jeffpaul via #291).
* Changed: Bump WordPress “tested up to” version 6.4 (props @qasumitbagthariya, @jeffpaul via #292).
* Changed: Renamed plugin from “Autoshare for Twitter” to “Autopost for X (formerly Autoshare for Twitter)” (props @jeffpaul, @iamdharmesh, Morgan Hartnett via #293).
* Fixed: Resolved the issue with Twitter accounts’ visibility in the classic editor (props @iamdharmesh, @ravinderk via #277).
* Fixed: Fixed bugs related to calculating tweet length (props @justinmaurerdotdev, @iamdharmesh via #288).
* Fixed: Addressed auto-posting tweets for automatically published posts (props @iamdharmesh, @sunnmagic, @peterwilsoncc, @jeffpaul via #294).
* Fixed: Fixed deprecation warning regarding implicit float-to-int conversion in PHP 8.2 (props @justinmaurerdotdev, @iamdharmesh via #301).
* Security: Bump @babel/traverse
from 7.22.17 to 7.23.2 (props @dependabot[bot], @iamdharmesh via #289).
* Security: Bump `@wordpress/scripts“ from 26.12.0 to 26.19.0 (props @dependabot[bot], @iamdharmesh via #298).
Further changelog entries can be found in the CHANGELOG.md file.