Click here or hit escape to close this.

Twitter escultura de arena by Rosaura Ochoa
WordPress: Tweets as Posts with formatting and thumbnails

Notice: this post is 4 years old, its content may be outdated.

I’m currently working on some project that requires me to find a way to publish new posts out of specific Twitter accounts’ tweets. Chandesh Parekh already did most part of the work with his Tweets As Posts plugin, which work very well. But I want it to do a bit more, like automatically add featured images to new posts, or specific formatting, basically making the tweet a quote. Here’s the way.

Install Tweets As Posts

Yes, I’ll suppose you know how to do that.

Configure it

Let’s say I want to create a new post each time Pope Francis says something. Could have been the Barack Obama, it doesn’t matter actually, just pick up the Twitter(s) account(s) you want.

Capture-du-2013-03-30-145319

Now there’s something I don’t like: you have to enter at least one hashtag and one username to follow. But I don’t want to follow any hashtag, I just want to publish someones tweets so that my readers who aren’t on Twitter can read them.

Hack it

So the first thing we’re doing is getting rid of this: as long as we provide one username or one hashtag, we’re good. Nothing simpler, we just need to edit the tweets-as-posts-admin.php file, line 42:

if($hashtags !="" && $usernames !="") {

becomes

if($hashtags !="" || $usernames !="") {

Now for the rest, we will just wrap the tweets in a <blockquote> tag and add the username after it, along with the date. This time we edit tweets-as-posts-class.php file, starting at line 185:

$new_post["post_content"]    = $item["description_filtered"];

becomes

$new_post["post_content"]    = '<blockquote>'.$item["description_filtered"].'</blockquote><p style="text-align: right;">− <a href="'.$item["twitter_username_link"].'">'.$item["twitter_username"].'</a>, '.date( 'd F Y', strtotime( $item["date"] ) ).'</p>';

And right after line 198, we add:

add_post_meta($post_id, $meta_key = "_thumbnail_id", $meta_value = $featured_ID, $unique=TRUE);

where $featured_ID is your chosen featured pic’s ID. Just upload your image using WP media tool and spot the ID on the attachment page. If your attachment page’s URI is http://yout-blog.com/?attachment_id=19, then your ID is 19.

And we’re done, we now have some nice posts relaying Twitter messages.