You write a post. It should appear on your social accounts. That used to be a solved problem, and then it wasn’t.
This plugin does the boring part: when a post is published for the first time, it posts a message to Bluesky and Mastodon, remembers the URLs it created, and lists them under the post with the u-syndication microformat.
It only runs on the transition to published. Editing an old post never re-shares it.
Be clear about what this plugin does and does not do. It publishes your posts and marks up the syndicated copies. It does not receive webmentions, and it does not talk to Brid.gy.
Bringing replies back from Bluesky and Mastodon needs three separate pieces:
u-syndication links, so a service can tell which social post belongs to which article. This plugin provides that.Without the other two, this plugin still shares your posts perfectly well. You simply will not get replies back, and the syndication box is just a list of links.
curl_exec() is disabledLinkedIn is deliberately a separate, opt-out-by-default section. Bluesky and Mastodon need nothing but an app password or a token, and take two minutes to set up. LinkedIn is a different story:
w_member_social, openid and profile scopesIf that sounds like too much, leave the LinkedIn section switched off and ignore it. Everything else works without it. If you do turn it on, the post goes out as a link card with your featured image, and there are two buttons in the settings: one that checks the connection without posting anything, and one that posts a test to LinkedIn only.
It is not a full social media scheduler. There is no queue, no analytics, no per-network message, no reposting of old content. It shares new posts, and that is all.
This plugin sends data to third party services. Nothing is transmitted until you enter credentials for a service and enable sharing.
Bluesky (AT Protocol)
Used to publish your post to Bluesky. On each publish the plugin sends your handle and app password to https://bsky.social/xrpc/com.atproto.server.createSession to obtain a session, then sends the message text and your post URL to https://bsky.social/xrpc/com.atproto.repo.createRecord.
Terms of service: https://bsky.social/about/support/tos — Privacy policy: https://bsky.social/about/support/privacy-policy
Mastodon
Used to publish your post to the Mastodon instance you configure. The plugin sends your access token, the message text and your post URL to /api/v1/statuses on that instance. The instance is chosen by you, so its terms and privacy policy are those of that server. For the default suggestion, mastodon.social: https://mastodon.social/terms-of-service and https://mastodon.social/privacy-policy
LinkedIn (only if you enable it)
Used to publish your post to your LinkedIn profile. The plugin sends your access token to https://api.linkedin.com/v2/userinfo to look up your member URN, uploads your featured image to https://api.linkedin.com/rest/images, and sends the message text, post title, excerpt and URL to https://api.linkedin.com/rest/posts.
Terms of service: https://www.linkedin.com/legal/user-agreement — Privacy policy: https://www.linkedin.com/legal/privacy-policy
Credentials you enter are stored in your own WordPress database and are never sent anywhere except to the service they belong to.