Tumblr Crosspostr posts to Tumblr whenever you hit the “Publish” (or “Save Draft”) button. It can import your reblogs on Tumblr as native WordPress posts. It even downloads the images in your Photo posts and saves them in the WordPress Media Library.
- Transform your WordPress website into a back-end for Tumblr.
- Create original posts using WordPress, but publish them to Tumblr.
- Import your Tumblr reblogs automatically.
- Always have a portable copy (a running backup) of your entire Tumblr blog.
Donations for this plugin make up a chunk of my income. If you continue to enjoy this plugin, please consider making a donation. 🙂 Thank you for your support!
Tumblr Crosspostr uses Tumblr’s simple API to keep posts in sync; when you edit your WordPress post, it updates your Tumblr post. Private WordPress posts become private Tumblr posts, deleting a post from WordPress that you’ve previously cross-posted to Tumblr deletes it from Tumblr, too, and so on. The plugin supports both scheduled posts (scheduling a WordPress post schedules it to publish at the same time on Tumblr) as well as the Tumblr Queue feature.
Tumblr Crosspostr is very lightweight. It just requires you to connect to your Tumblr account from the plugin options screen. After that, you’re ready to cross-post! See the Screenshots for a walk through of this process.
Tumblr Crosspostr uses post formats to set the appropriate Tumblr post type. The first image, video embed, etcetera that Tumblr Crosspostr detects will be used as the primary media for the Tumblr post type. To take full advantage of Tumblr Crosspostr, I suggest you choose a WordPress theme that supports all the post formats that your Tumblr theme supports, but Tumblr Crosspostr will still work even if your theme does not natively support this feature. 🙂
The WordPress post format to Tumblr post type mapping looks like this:
Statuspost formats become Tumblr’s
Imagepost format becomes Tumblr’s
Videopost format becomes Tumblr’s
Audiopost format becomes Tumblr’s
Quotepost format becomes Tumblr’s
Linkpost format becomes Tumblr’s
Chatpost format becomes Tumblr’s
Gallerypost format becomes Tumblr’s
Photosetpost type (sadly this is not yet implemented, but maybe one day soon!!)
Other options enable tweaking additional metadata from your WordPress entry (notably tags and “Content source” attributions) to Tumblr, sending all your post archives to Tumblr in one click, and more.
Servers no longer serve, they possess. We should call them possessors.
Learn more about how you can use this plugin to own your own data in conjunction with the “Bring Your Own Content” self-hosted Web publishing virtual appliance.
Maintaining this plugin is a labor of love. However, if you like it, please consider making a donation for your use of the plugin, purchasing one of Meitar’s web development books or, better yet, contributing directly to Meitar’s Cyberbusking fund. (Publishing royalties ain’t exactly the lucrative income it used to be, y’know?) Your support is appreciated!
Tumblr Crosspostr provides the following hooks for plugin and theme authors:
tumblr_crosspostr_save_post_types– Filter an array of custom post type names to process when Tumblr Crosspostr is invoked in the
tumblr_crosspostr_meta_box_post_types– Filter an array of custom post type names for which to show the Tumblr Crosspostr post editing meta box.
tumblr_crosspostr_prepared_post– Filter the
$prepared_postobject immediately before it gets crossposted to Tumblr
tumblr_crosspostr_reblog_key– Prints the Tumblr Reblog Key for a given post.
- Download the plugin file.
- Unzip the file into your ‘wp-content/plugins/’ directory.
- Go to your WordPress administration panel and activate the plugin.
- Go to Tumblr Crosspostr Settings (from the Settings menu) and either create or enter your Tumblr OAuth consumer key and consumer secret. Then click “Save Changes.”
- Once you’ve entered your consumer key and consumer secret, a “Connect to Tumblr” button will appear. Click that to be redirected to Tumblr’s authorization page.
- Click “Allow” to grant access to your blog from Tumblr Crosspostr.
- Start posting!!!
See also the Screenshots section for a visual walk through of this process.
Installation notes and troubleshooting
Tumblr Crosspostr makes use of Manuel Lemos’s
oauth_client_class for some core functions. Most systems have the required packages installed already, but if you notice any errors upon plugin activation, first check to ensure your system’s PHP include path is set correctly. The
lib directory and its required files look like this:
lib ├── OAuthWP.php ├── OAuthWP_Tumblr.php ├── TumblrCrosspostrAPIClient.php ├── httpclient │ ├── LICENSE.txt │ └── http.php └── oauth_api ├── LICENSE ├── oauth_client.php └── oauth_configuration.json
It’s also possible that your system administrator will apply updates to one or more of the core system packages this plugin uses without your knowledge. If this happens, and the updated packages contain backward-incompatible changes, the plugin may begin to issue errors. Should this occur, please file a bug report on the Tumblr Crosspostr project’s issue tracker.
If images are not posting correctly please check that your WordPress blog is not using HTTPS. The Tumblr API does not support HTTPS image sources via the API.
- Can I specify a post’s tags?
Yes. WordPress’s tags are also crossposted to Tumblr. If you’d like to keep your WordPress tags separate from your Tumblr tags, be certain you’ve enabled the “Do not send post tags to Tumblr” setting.
Additionally, the “Automatically add these tags to all crossposts” setting lets you enter a comma-separated list of tags that will always be applied to your Tumblr crossposts.
- Does Tumblr Crosspostr properly attribute content sources?
Yes. By default, Tumblr Crosspostr will set itself up so that your WordPress blog’s posts are attributed as the “Source” for each of your crossposts. Moreover, in each of your posts, you can enter a “Content source” URL in exactly the way Tumblr’s own post editor lets you attribute sources, which will be entered as the “Content source” meta field on your Tumblr posts. You can even turn this feature off entirely if you’re using Tumblr Crosspostr “secretly,” as the back-end to a more elaborate publishing platform might do.
- Can I send older WordPress posts to Tumblr?
Yes. Go edit the desired post, verify the crosspost option is set to
Yes, and update the post. Tumblr Crosspostr will keep the original post date. Note that sometimes it seems to take Tumblr a few minutes to reflect many new changes, so you may want to use Tumblr’s “mega editor” to verify that your post really made it over to Tumblr.
- What if I edit a post that has been cross-posted?
If you edit or delete a post, changes will appear on or disappear from Tumblr accordingly.
- Can I cross-post Private posts from WordPress to Tumblr?
Yes. Tumblr Crosspostr respects the WordPress post visibility setting and supports cross-posting private posts to Tumblr. Editing the visibility setting of your WordPress post will update your Tumblr cross-post with the new setting, as well.
- Can I cross-post custom post types?
Yes. By default, Tumblr Crosspostr only crossposts
postpost types, but you can enable or disable other post types from the plugin’s settings screen.
If you’re a plugin developer, you can easily make your custom post types work well with Tumblr Crosspostr by implementing the
tumblr_crosspostr_prepared_postfilter hooks. See Other Notes for coding details.
- Is Tumblr Crosspostr available in languages other than English?
This plugin has been translated into the following languages:
- French (
- Thanks, Julien! 😀
With your help it can be translated into even more! To contribute a translation of this plugin into your language, please sign up as a translator on Tumblr Crosspostr’s Transifex project page.
- French (
- What if my theme doesn’t support Post Formats?
Tumblr Crosspostr will still work even if your theme doesn’t support the Post Formats feature. However, consider asking your theme developer to update your theme code so that it supports Post Formats itself for other plugins to use, too.
If you feel comfortable doing this yourself, then in most cases, this is literally a one-line change. Simply use the add_theme_support() function in your theme’s
add_theme_support('post-formats', array('link', 'image', 'quote', 'video', 'audio', 'chat''));
And if you choose to do this yourself, consider getting in touch with your theme’s developer to let them know how easy it was! We devs love to hear this kind of stuff. 🙂
- Why won’t my Tumblr post appear on my WordPress blog immediately?
Unfortunately, Tumblr does not provide a programmatic “export” feature, so there is no way to push posts out from Tumblr. This is known as a “data silo” and it’s always enforced in the interest of corporate control so that humans are turned into dollars. Think Facebook, for example: you can easily put stuff into Facebook, but it’s much harder to get that same stuff out. This is the exact opposite of WordPress in every way, both philosophically and technologically. Tumblr, in this case, is like Facebook. It, too, allows you to easily put stuff into it, but it’s very hard to take stuff back out.
Tumblr Crosspostr’s Tumblr Sync feature was built to work despite this harsh reality. One of the limitations is that Tumblr Crosspostr Sync can not detect when you have published a new post on Tumblr (because Tumblr never notifies your WordPress blog that this has happened). Instead, it must periodically check your Tumblr blog on its own. It polls your Tumblr blog once every twenty four hours, and then does its best to identify which posts are new. This usually works quite well, but it does mean that it can take up to 24 hours for posts created on Tumblr to show up on your WordPress website. This is another reason why creating posts on WordPress is better than creating posts on Tumblr.
If you’d like to see a world without arbitrary and unnecessary limitations that only serve corporate overseers like this, consider encouraging your friends to join and support free software platforms like WordPress, Diaspora, and other systems that let you own your own data.
Don’t bother installing this if you want ALL images in your posts besides the featured image.
Also, if you read his replies to other reviews that are not favorable he takes on an attitude. Proper and thorough documentation IS lacking, he gives more documentation in his snarky replies. Uninstalled.
1. This plugin works.
2. It’s a good example to learn from when I’m trying to write my plugin to synchronize wordpress content to my own site.
I was expecting the plugin use the featured image to display as main image at Tumblr. Only text based posts are being published.
This plugin does EXACTLY what one needs to not have to go to tumblr to manage their content. Keep your content where it belongs, under your control!
Contributors & Developers
“Tumblr Crosspostr” is open source software. The following people have contributed to this plugin.Contributors
- Feature: Scheduled posting support.
- Feature: Option to “leave no trace” when uninstalling the plugin. This is dangerous and off by default. It will permanently erase all associations between your WordPress posts and your Tumblr posts, deleting all Tumblr-relatd metadata for your WordPress content.
Bugfix: Quiet duplicated network requests to Tumblr’s
/user/info API endpoint.
- Feature: Use Tumblr’s
native_inline_imagesto avoid the “External image” display on the Tumblr Dash. (Props @jeraimee.)
- Bugfix: Correctly translate WordPress
<!-- more -->link to Tumblr’s equivalent.
- Bugfix: Recognize audio generated from WordPress shortcodes.
- Usability: Nicer styles for the plugin’s settings screen.
- Developer: Update libraries (this fixes several outstanding bugs that were present in the packaged library versions).
- Bugfix: Fix “invalid argument” error for some people when they first install the plugin.
- Bugfix: Strip HTML tags from titles on Tumblr posts.
- Bugfix: Fix “undefined index” error for installations in strict environments when the tweet option is enabled but the tweet text is left blank.
- Bugfix: Fix several other “undefined index” errors at various locations on the plugin’s settings screen.
- Tested for compatibility with WordPress 4.3.
- Feature: When importing a Photo post from Tumblr, the photo in the Tumblr post becomes the Featured Image of the WordPress post. This only happens when a Tumblr post contains a single photo.
- Compatibility with WordPress 4.2.x’s new PressThis bookmarklet.
- Bugfix: Typo caused “View post on Tumblr” buttons to break. My bad. ^_^;
- Feature: Support
rel-syndicationIndieWeb pattern as implemented by the recommended Syndication Links plugin.
rel-syndicationis an IndieWeb best practice recommendation that provides a way to automatically link to crossposted copies (called “POSSE’d copies” in the jargon) of your posts to improve the discoverability and usability of your posts. For Tumblr Crosspostr’s
rel-syndicationto work, you must also install a compatible WordPress syndication links plugin, such as the Syndication Links plugin, but the absence of such a plugin will not cause any problems, either.
- Feature: Option to cross-post any post type. Not all post types can be crossposted safely, but many can, especially if they use default WordPress features like “title” and “excerpt” and so on. On important websites, don’t enable crossposting for post types whose compatibility with Tumblr you are not sure of, or at least make sure you have a backup you can restore from. 🙂
- Developer: Three new filter hooks allow you to create your own custom post types that will be sent to Tumblr:
- Use the new
tumblr_crosspostr_save_post_typesfilter hook to programmatically add custom post types to be processed by Tumblr Crosspostr during WordPress’s
- Use the new
tumblr_crosspostr_meta_box_post_typesfilter hook to programmatically add or remove the Tumblr Crosspostr post editing meta box from certain post types.
- Use the new
tumblr_crosspostr_prepared_postfilter hook to programmatically alter the
$prepared_postobject immediately before it is crossposted to Tumblr.
- Use the new
- Bugfix: First-time sync’s now import all intended posts even when some posts are not public on Tumblr. Additionally, much-improved debug logging offers an easier way to trace sync problems.
- Bugfix: Repeated sync’s no longer cause duplicated posts on PHP less than 5.4.
Version history has been truncated due to WordPress.org plugin repository
readme.txt file length limitations. For historical change log information, please refer to the plugin source code repository.