WordPress plugin intelligence profile

TootPress

TootPress copies your toots from Mastodon to WordPress.

WP PlugIndex snapshot

Current directory snapshot

Tested up to WordPress 6.8
Current version0.5
WordPress coverageTested up to WordPress 6.8
Minimum stackWP 6.1 · PHP —
Directory statusactive
Last directory update19 Jul 20251y ago
Active installations20Adoption metric — not a quality score
WordPress.org rating4.5 / 5 from 4 ratings
Official packageDirect from WordPress.org

Repository metrics are context, not quality scores. Active installations measure adoption and can strongly reflect a plugin’s age and historical popularity. Ratings, recent updates and “Tested up to” metadata also do not guarantee modern code, error-free operation, security, feature completeness or suitability for a particular site. Why active installs don’t tell the whole story →

WP PlugIndex currently records TootPress version 0.5 as active, updated 1y ago and tested up to WordPress 6.8.

Overview

About this plugin

TootPress copies your toots from Mastodon to WordPress continuously. The toots can be displayed chronologically in the blog, making your timeline accessible to other people outside of Mastodon. In addition, you regain ownership of your own data back.

Features

  • Copy your toots back
  • Copy your tooted images back
  • Display your toots on the blog
  • Retrieve your complete timeline
  • Languague: English, German (only FrontEnd)

Live Demo

Here!

Setup Manual

  • Install the Plugin in WordPress
  • Create an Application on your Mastodon Instance to get API Access (under Settings/Development)
  • Restrict the Authorization of the created Application to Read (all data)
  • Maintain Mastodon Instance and Access Token in the TootPress Settings
  • Retrieve your Account ID (in WordPress under Tools/Toots)
  • Maintain the Account ID in the TootPress Settings
  • Create a new WordPress Page and add the Page to your Menu
  • Maintain the Page ID in the TootPress Settings (you find the Page ID in URL of the Browser when editing the Page in WordPress)
  • Run Mastodon API Request once (in WordPress under Tools/Toots)
  • Activate Steady Fetch
  • That’s it!

Instructions for Use

  • You find TootPress in WordPress in the area of Settings and Tools
  • Steady Fetch activates the automatic and regular load of new toots
  • First API Request will copy your last 40 toots
  • New toots will be loaded every 15 minutes (customizable)
  • You can load your complete timeline into WordPress with the eponymous function
  • Loading your complete timeline can take several hours depending of the amount of toots
  • 480 toots are loaded per hour as maximum
  • You can run a Mastodon API Request everytime at your own with the eponymous function
  • There is no prescribed order for the execution of Steady Fetch, Complete Timeline or manual requests
  • If problems occur, TootPress provides a Healthy Check

Further Information

Supported Toot Objects

Following toot objects are supported.

  • Text
  • Images
  • Galleries
  • URLs
  • Hashtags
  • Mentions

Not supported Toot Objects

Following toot objects are not supported.

  • Audio
  • Video
  • Poll
  • Teaser
  • Quotes

Excluded Toot Types

Following toot types are excluded from the data transfer.

  • Boosts
  • Replys
  • Private Toots

Architecture

Data storage and process logic is separated from the WordPress Framework. The toots are not saved in the table wp_posts. And TootPress is not registering a custom post type for the toots as well.

CSS classes

TootPress comes with basic CSS Styles. For best fit it is required to add additional styles in your theme. All TootPress UI elements can be addressed with individual CSS selectors.

Please use the browser development tools to find the right classes.

Data & Files

TootPress creates 2 folders within the WordPress Uploads Directory.

  • tootpress-mastodonapidata = Archive of the received Mastodon API data
  • tootpress-images = Toot Image Folder

wpCrons

  • Steady Fetch (every 15 minutes, customizable)
  • Load Complete Timeline (every 5 minutes)

TootPress API

Action: tootpress_toots_update

It will be fired after toot update to execute custom post-processing.

You can use the following code.

function tootpress_toots_update_postprocessing() {

// Add your code to be executed here

} add_action('tootpress_toots_update', 'tootpress_toots_update_postprocessing');

Filter: tootpress_preamble_filter

It outputs html content before the toot loop.

You can use the following code.

function tootpress_preamble_add( $preamble ) {

</p>';

return $preamble;

} add_filter( 'tootpress_preamble_filter', 'tootpress_preamble_add', 10, 1 );

Filter: tootpress_closing_filter

It outputs html content after the last toot loop.

You can use the following code.

function tootpress_closing_add( $content ) {

</p>';

return $content;

} add_filter( 'tootpress_closing_filter', 'tootpress_closing_add', 10, 1 );

Filter: tootpress_menu_forward_label

This filter overwrites the forward label in the bottom navigation.

You can use the following code.

function tootpress_menu_forward_label_change( $label ) {

// Add your filter code here // Example: $label='Newer Posts';

return $label;

} add_filter( 'tootpress_menu_forward_label', 'tootpress_menu_forward_label_change', 10, 1 );

Filter: tootpress_menu_backward_label

This filter overwrites the backward label in the bottom navigation.

You can use the following code.

function tootpress_menu_backward_label_change( $label ) {

// Add your filter code here // Example: $label='Older Posts';

return $label;

} add_filter( 'tootpress_menu_backward_label', 'tootpress_menu_backward_label_change', 10, 1 );

Filter: tootpress_beforeloop_filter

This filter outputs content before the toot loop (on all tootpress pages).

You can use the following code.

function tootpress_beforeloop_filter_add( $content, $page_number ) {

'</p>';

return $label;

} add_filter( 'tootpress_beforeloop_filter', 'tootpress_beforeloop_filter_add', 10, 2 );

Filter: tootpress_afterloop_filter

This filter outputs content after the toot loop (on all tootpress pages).

You can use the following code.

function tootpress_afterloop_add( $content, $current_page_number, $last_page_number ) {

'</p>';

return $content;

} add_filter( 'tootpress_afterloop_filter', 'tootpress_afterloop_add', 10, 3 );

Filter: tootpress_mastodon_logo_filter

This filter overwrites the Mastodon Logo with Custom Logo.

You can use the following code.

function tootpress_mastodon_logo_change ( $img ) {

// Standard Value // <img class="toot-symbol" src="FILE-URL" alt="Toot Symbol" width="35" height="37"/>

// Add your filter code here // Example: $img='<img class="toot-symbol" src="FILE-URL" alt="Custom Toot Symbol" width="32" height="32"/>';

return $img;

} add_filter( 'tootpress_mastodon_logo_filter', 'tootpress_mastodon_logo_change', 10, 1 );

Filter: tootpress_between_filter

This filter adds custom HTML between the toots.

You can use the following code.

function tootpress_create_element_between ( $content ) {

// Add your filter code here // $content='<hr/>';

return $content;

} add_filter( 'tootpress_between_filter', 'tootpress_create_element_between', 10, 1 );

Filter: tootpress_toot_content_filter

This filter can be used to manipulate the toot content.

You can use the following code.

function tootpress_manipulate_content ( $content ) {

// Add your filter code here // $content=str_replace('href=','target="_blank" href=',$content);

return $content;

} add_filter( 'tootpress_toot_content_filter', 'tootpress_manipulate_content', 10, 1 );

Filter: tootpress_date_filter

This filter overwrites the date output with custom format.

You can use the following code.

function tootpress_date_custom_format ( $date, $year, $month, $day, $hour, $minute, $second ) {

// $date = 2023-05-30 22:40:28 // $year = 2023 // $month = 05 // $day = 30 // $hour = 22 // $minute = 40 // $second = 28

$second;

return $date;

} add_filter( 'tootpress_date_filter', 'tootpress_date_custom_format', 10, 7 );

Filter: tootpress_image_filter

This filter can be used to manipulate image tags.

You can use the following code.

function tootpress_image_manipulate ($img_tag,$filename,$description,$width,$height,$image_directory_path,$amount_of_images,$image_number) {

// Amount of Images // ---------------- // 1 = Single Image // >1 = Gallery + Size of Gallery

// Image Number // ------------ // This number indicates position within the gallery

// Add your filter code here // $img_tag=str_replace('alt=','class="tootpress-image" alt=',$img_tag);

return $img_tag;

} add_filter( 'tootpress_image_filter', 'tootpress_image_manipulate', 1, 8 );

Related Links

  • Source Code @ GitHub
  • Official Plugin Page (German)
WordPress.org metadata

Plugin tags

Topics listed for this plugin in the WordPress.org directory.

  • blog
  • fediverse
  • mastodon
  • microblogging
  • toots
Compatibility & maintenance

Compatibility & maintenance

Tested up to WordPress 6.8

Not yet marked as tested with WordPress 7.1. WordPress.org currently lists Tested up to 6.8.

Current WordPress releaseWordPress 7.1
WordPress.org Tested up to6.8
Minimum requirementsWordPress 6.1 · PHP not listed
Update activity19 Jul 20251y ago

“Tested up to” is directory metadata supplied by the plugin author. WP PlugIndex does not turn an older declaration into a claim that the plugin is incompatible.

Changes recorded by WP PlugIndex

Recent tracked changes

No tracked version or compatibility changes have been recorded by WP PlugIndex yet.

Tracking & source

WP PlugIndex tracks public WordPress.org directory metadata and records selected version, compatibility and availability changes as they are detected.

Plugin watchlist

Watch this plugin

Sign in to your WP PlugIndex account or create a free account. Free accounts can watch up to 5 plugins and see what changed.

Watch limit

Watchlist limit reached

You have reached your current active watch limit.