Boost Your WordPress Post Feed with Term Specific Elements

In this tutorial, we’ll delve into the process of injecting custom elements into your WordPress post feed, leveraging dynamic tags based on specific taxonomy terms. This customization technique is particularly useful for those looking to highlight posts under distinct categories or tags, such as “service update,” without the need for direct theme modifications. Utilizing the Ditty Posts plugin you can easily achieve this directly within the WordPress dashboard, thanks to the intuitive Ditty Editor. This not only simplifies the customization process but also ensures that your site remains flexible and easily updatable in the future.

Step 1: Install plugins and create a Ditty

The first step in this process is to install both Ditty and the Ditty Posts extension. Once installed go to Ditty > Add New to create a new DItty.

Step 2: Add a post feed

In your new Ditty editor, select the WP Posts Feed item type and select the Add WP Posts Feed button at the bottom. By default the post feed will display with full post content. If you want to switch this to only display the excerpt, select the Customize button and click the gear icon next to the {content} label. Then, click the pencil icon next to content_display and select excerpt. Finally, select the Update Item Settings button. This change ensures that only a summary of each post appears in the feed, keeping your layout neat and digestible.

Step 3: Modify the Layout

Now, it’s time to adjust the layout to include dynamic tags:

  1. Select the Layout icon to open the Layout editor and select the Customize button.
  1. Insert the {terms} dynamic tag: Add the dynamic tag that allows the display of terms (categories or tags) associated with each post.
  2. Set the taxonomy: Specify the taxonomy you wish to display, such as post tags. Locate the taxonomy slug in the URL (look for taxonomy=) and paste it into the appropriate field.
  3. Filter the term display: By default, all terms will be listed and linked to their respective archive pages. To narrow this down, use the “includes” field to specify which terms to show. For instance, add “service-update” to exclusively feature this term.
  4. Add a custom class: Add a custom class to easily target this element with custom css.
  5. Once inserted, the tag should resemble the following:
{terms taxonomy="post_tag" includes="service-update" class="service-update"}Code language: JavaScript (javascript)

Step 4: Replace the term link with custom content

The dynamic tag setup allows for the default term name and archive link to be displayed. However, you can add custom content by adding a closing tag and adding content in between.

  1. Add custom html while still rendering the default content: If you want to still display the default content rendered by the placeholder add %s to your custom html:
{terms taxonomy="post_tag" includes="service-update" class="service-update"}
My Terms: %s
{/terms}Code language: JavaScript (javascript)
  1. Or, completely replace the default content: If you only want to display something completely custom you can add any html between the opening and closing tags without the placeholder:
{terms taxonomy="post_tag" includes="service-update" class="service-update"}
This is a featured post
{/terms}Code language: JavaScript (javascript)

Step 5: Add custom CSS

Lastly, apply custom CSS to make your new elements stand out. If you’ve added a custom class earlier, reference it here to style your custom content. For example, to make the “service-update” tag prominent, you might add styles that set a vibrant background color, adjust padding, or modify typography.


By following these steps, you can dynamically customize your WordPress post feed to highlight specific posts, such as those tagged with “service-update.” This technique not only enhances the visual appeal of your site but also improves navigation and user experience by drawing attention to key updates or categories.

Remember, the power of dynamic tags and custom CSS allows you to create a highly personalized and engaging website. Experiment with different styles and content to find what works best for your audience and your messaging.