When you blog regularly for multiple sites, collecting your posts and manually adding them to a portfolio becomes a tedious chore. It is something I never get around to, even though I love seeing a lists of my posts all in one place.
So I thought, is this something I can do with the WordPres REST API? Could I take the data from three different sites and display a list on one page that updates itself?
Why yes, yes you can. Here it is. This is how you can recreate this if you’re using the Genesis framework.
Step 1: Copy the page_index.php file
page_index.php file is different from your site’s main
index.php file. The
page _index.php file in Genesis shows a lists of posts, categories, authors and tags.
In your theme files, copy and rename the
I renamed mine
page_writing_index.php . Make sure you also change the template name.
Step 2: Modify Your functions.php file
I followed Misha Rudrastyh’s tutorial: Begin with REST API – Display others blogs latest posts.
I write for three blogs:
- My personal blog which you’re reading right now
- WPMU DEV
- Green Cottage Joy
So I modified Misha’s code by adding a section for a 3rd blog and added it to the bottom of my
functions.php file in WordPress.
I used the WP REST API to only retrieve my blog posts from WPMU DEV since there are multiple authors, as well as a limited amount of posts from my other two sites.
I also modified the output so that each blog post is clickable and takes you to the full post, and displays the date.
Step 3: Create a New Page and Select the New Template
Once you’re finished with that, create a new page in WordPress and select Writing Index (or whatever you named your template) from the Page Attributes section.
I used a Gutenberg block to add a brief intro to the list of blog posts and then published it. Boom! An auto updating list of blog posts from all the blogs I write for. If I start writing for another blog, all I need to do is add a section for a fourth blog to my
You can get the full code I used right here on GitHub. If you want to use this on your site, it is important that you copy the whole
functions.php file from GitHub. Do not copy the two Gists above because they’re incomplete.
If you want to see what the page looks like, go to feliciaceballos.com/writing.