Follow Me on Twitter CTA on Ghost and Wordpress
The other day I read a post on Hacker News about premature optimization in web application development. This was an excellent post in its own right, but one thing that jumped out at me was the call to action from the author to follow him on Twitter at the end of his post. I liked that it was subtle, simple, and effective (I followed him on Twitter). Naturally, I stole this idea for my own blogs. This method uses the Follow Button provided by Twitter. In this post, I will show you how to add your own “Follow Me on Twitter” Call to Action on your own Wordpress or Ghost blog.
Wordpress
I used the Bottom of Every Post Wordpress Plugin because I found that hacking the main wordpress loop caused my CTA to show up at the very bottom of a page rather than at the end of the post content. In addition, I made a small change to this plugin to make sure that it only appears on single posts rather than on the home page. Edit bottom-of-every-post/bottom_of_every_post.php from the Wordpress Plugins Editor and update the method to be:if( is_single() && file_exists( $fileName )){/* open the text file and read its contents */
$theFile = fopen( $fileName, “r”); $msg = fread( $theFile, filesize( $fileName )); fclose( $theFile );
/* detect the old message in code to try and eradicate my name and # showing up on strange websites that are run by lazy people */
if( $msg == “<p>Call for an estimate 724-498-1551<br><a href="mailto:[email protected]">[email protected]</a></p>” ){ $msg = “<p>Thank you for installing the Bottom of every post WordPress plugin. To find out how to change or remove this message, read <a href="https://wordpress.org/extend/plugins/bottom-of-every-post/installation/">the instructions</a>.</p>”; }
/* append the text file contents to the end of
the_content
*/ return $content . stripslashes( $msg ); } else{/* if
the_content
belongs to a page or our file is missing the result of this filter is no change tothe_content
*/return $content; }
is_single()
<p> If you made it this far, you should probably follow me on twitter. :) <a class="twitter-follow-button" href="https://twitter.com/levlaz"> Follow @levlaz</a> </p><script>window.twttr = (function(d, s, id) { var js, fjs = d.getElementsByTagName(s)[0], t = window.twttr || {}; if (d.getElementById(id)) return t; js = d.createElement(s); js.id = id; js.src = “https://platform.twitter.com/widgets.js"; fjs.parentNode.insertBefore(js, fjs);
t._e = []; t.ready = function(f) { t._e.push(f); };
return t; }(document, “script”, “twitter-wjs”));</script>
I used ghosts code-injection tool to get this to work for every page. I added the following two scripts to the Blog Footer.
<script> article = document.getElementsByClassName('post-content'); child = document.createElement('p'); cta = '<p class="follow"> If you read this far, thank you! Follow me on Twitter to stay up to date on what the fuss is all about.<br />'; link = '<a class="twitter-follow-button" href="https://twitter.com/tralevnet"> Follow @tralevnet</a></p>' child.innerHTML = cta + link; article[0].appendChild(child); </script><script> window.twttr = (function(d, s, id) { var js, fjs = d.getElementsByTagName(s)[0], t = window.twttr || {}; if (d.getElementById(id)) return t; js = d.createElement(s); js.id = id; js.src = “https://platform.twitter.com/widgets.js"; fjs.parentNode.insertBefore(js, fjs);
t._e = []; t.ready = function(f) { t._e.push(f); };
return t; }(document, “script”, “twitter-wjs”)); </script>
<style> .follow { line-height: 1.5; width: 50%; padding: 15px; border: dashed 1px lightgrey; font-size: smaller; color: #555; font-family: sans-serif; font-weight: bold; }.twitter-follow-button { margin-top: 10px; } </style>
Thank you for reading! Share your thoughts with me on bluesky, mastodon, or via email.
Check out some more stuff to read down below.
Most popular posts this month
- 2024
- Reinstalling Windows at 1am
- SQLite DB Migrations with PRAGMA user_version
- My Custom Miniflux CSS Theme
- How to Disable Wayland in Debian Testing
Recent Favorite Blog Posts
This is a collection of the last 8 posts that I bookmarked.
- Give Your Spouse the Gift of a Couple's Email Domain from mtlynch.io
- Skip the Next iPhone from Articles on Jose M.
- Have smart glasses finally hit an inflection point? from The Torment Nexus
- The McPhee method from the jsomers.net blog
- Pluralistic: LLMs are slot-machines (16 Aug 2025) from Pluralistic: Daily links from Cory Doctorow
- Pluralistic: Bluesky creates the world's weirdest, hardest-to-understand binding arbitration clause (15 Aug 2025) from Pluralistic: Daily links from Cory Doctorow
- Just a Little More Context Bro, I Promise, and It’ll Fix Everything from Jim Nielsen’s Blog
- The Futzing Fraction from Deciphering Glyph
Articles from blogs I follow around the net
Who Is The Sky? by David Byrne
Seeing David Byrne last night for the first-ever performance of Who Is The Sky was one of the best and most impactful concerts/experiences of my life.
via Blog – Brad Frost September 17, 2025Pluralistic: Conspiratorialism's causal chain (17 Sep 2025)
Today's links Conspiratorialism's causal chain: A four-part begat. Hey look at this: Delights to delectate. Object permanence: Legal threats over HDCP leaks; Print your own TSA luggage keys; "A Natural History of Empty Lots." Upcoming appe…
via Pluralistic: Daily links from Cory Doctorow September 17, 2025Theatre Review: Interview (Understudy Performance) ★★★☆☆
One of the best things about London theatre is that once in a while a show will give its understudies a chance to break out of the dressing room and soar on the stage. It's a chance to see talented performers at a discount price. What's not to lik…
via Terence Eden’s Blog September 17, 2025Generated by openring