Turn WordPress Posts into a Navigation Menu or Social Bar
Last updated: August 2026
This isn’t a menu plugin — it’s regular WordPress posts. Give each post a title (the label), a featured image (the icon), and a custom field named NAV_URL (the destination). Put them all in one category, filter a Swiffle Grid block by that category, set the click action to Navigate URL, and you’ve got a fully styled menu — round the images, size them, center them, or let them scroll. Swap the category for your social profiles and the exact same setup becomes a social bar.
Step 1 — Create a category and enable Custom Fields
Start by creating a post category dedicated to this menu or social bar (for example „Main Menu“ or „Social Links“). Custom fields aren’t shown by default in the block editor, so before creating your items, open any post, click the three-dot Options menu in the top right, open Preferences, and switch on Custom fields under Advanced. WordPress reloads the editor once you confirm.
Preferences → Advanced → Custom fields.
Step 2 — Create one post per menu item
For each entry in your menu (or each social profile), create a new post: the title becomes the label, the featured image becomes the icon, and the destination link goes in a custom field named exactly NAV_URL. Assign the post to the category you created in Step 1. Repeat for every item.
One custom field, always named NAV_URL, holding the link for that item.
Step 3 — Add a Swiffle Grid block and filter by category
On the page where you want the menu to appear (Gutenberg or Elementor both work the same way), add a Swiffle Grid block and filter it to your dedicated category. Adjust card size, spacing, and layout however you like — this is what turns a plain list of posts into a styled bar.
Filtering the block to the category holding your menu items.
Step 4 — Set the click action to Navigate URL
In the block’s Actions settings, set Card front click/tap action to Navigate URL. Clicking or tapping a card now opens whatever link is stored in that post’s NAV_URL field — that’s what makes it behave like a real menu.
Navigate URL sends the click to the post’s NAV_URL field.
ℹ️ You can also copy the code from the block’s Embed code tab and place it on a non-WordPress page. Just remember to authorize the external URL under Swiffle Grid → URLs allowed to embed first. See the Admin Setup Reference for details.
Result
Your menu (or social bar) is now live wherever you placed the block — round the images, resize them, center them, or let the row scroll to fit your design. Want a second bar for something else? Create another category, repeat the same four steps, and add a second Swiffle Grid block filtered to it — no menu plugin required either way.
The finished bar — regular WordPress posts, styled as clickable icons.
