shopify analytics ecommerce
tracking

How to Get a Page to Appear in a Category Listing in WordPress

Just the title of this post will seem confusing to many, let alone the reason for wanting to manipulate a WordPress database in such a fashion. WordPress is the leading content management system. Big companies and organisations as well as people with free blogs use the same system. It has plenty of free themes to choose from as well as a dazzling array of premium (paid-for) themes. However, there are limits to the publication platform. Even if you are an ace with php and css and go into the theme code you still find yourself hitting a wall on occasion. The more you use WordPress the more you see its limitations. That is one reason why they are constantly updating the management system.

Having cut my teeth on HTML I like the freedom of making unique pages. Things like a different header on each page, a change in layout, different links in the footer etc. can be easily done when coding straight into HTML. Such variation is very difficult (and sometimes impossible) with WordPress.

Recently I was asked to make posts in a WordPress theme (advanced newspaper) full width. There is no option in the theme options or the post options to do this. There is, however, a template option when composing pages. Just as an experiment I took a post and copied and pasted it into a page with full width option chosen. To my surprise, the link on the category list when clicked produced the full width page. Here is how it is done.

  1. Go to dashboard and click page – add new page.
  2. Open another tab and go to all posts and click on edit for the post you wish to display as full width.
  3. Copy and paste the title from the post to the new page (make sure that the URL is the same for the post and page).
  4. Make sure you are in ‘text’ composition and copy and paste the body of the post to the new page.
  5. Choose the full width option on the new page and publish.
  6. Open another tab and check that the category list now points to the full width page.

Troubleshooting

If it doesn’t work the likely problems are:

  1. The page URL address doesn’t match the post URL. Copy the page URL after the first ‘/’ and press edit on the address bar below the post title. This will let you paste the correct URL component into the address.
  2. Make sure that you are using the ‘post name’ option for the permalinks. This can be automatically changed: go to settings – permalink – post name.
  3. Make sure that both post and matching page are ‘published’. If the post is in ‘draft’ mode this won’t work.

Conclusion

This is not a very elegant solution. I suspect that the WordPress team will eventually tackle this limitation making it easier for theme developers to offer full width options for posts as well as pages. The fix rests upon the fact that the WordPress database chooses a page for showing if both a page and post have the same address.