Flex Posts – Widget and Gutenberg Block


Flex Posts is a widget to display posts in various different layouts. It is useful for a news site where you need to display a lot of posts in a page.

The widget is responsive so you can place it in any widget area. The widget content will adapt based on the width of its container. In a narrow area like standard sidebar, posts will be displayed vertically, but in a wider area, posts will be displayed in 2 or 3 columns depends on the container’s width.

Widget Settings

  • Title: Set the widget title. Leave it empty to hide the title section.
  • Title URL: Set the title link url. Leave it empty to disable link in the title.
  • Layout: Select a widget layout, from layout 1 to 4.
  • Post type: Select the post type. Options include: Post, Page, custom post types if available, and any.
  • Category: Select a category for the posts, or choose All Categories to disable this filter.
  • Tag(s): Set a post tag (using the tag slug). You can also use comma separated value for multiple tags. Prepending a tag with a hyphen will exclude posts matching that tag. Eg, featured, -video will show posts tagged with featured but not video.
  • Order by: Set the order in which the posts will be displayed. Options include: Newest, Oldest, Most Commented, Alphabetical, Random, Modified Date.
  • Number of posts to show: Set the number of posts displayed.
  • Number of posts to skip: Set the number of posts to displace or pass over.
  • Show image on: Select in which posts the image will be displayed. Options include: All posts, First post only, or none.
  • Show categories: Choose to show or hide the categories.
  • Show author: Choose to show or hide the author.
  • Show date: Choose to show or hide the date.
  • Show comments number: Choose to show or hide the comments number.
  • Show excerpt: Choose to show or hide the excerpt
  • Excerpt length: Set the number of words for the excerpt.
  • Show read more link: Choose to show or hide the Read More link.
  • Read more text: Set the text for the read more link. You can leave it empty to use the default text Read More.
  • Show pagination: Choose to show or hide the pagination links.

Gutenberg Block

Since version 1.1.0, Flex Posts also includes a gutenberg block. You can add the widget directly into the post/page content with the WP 5.0 block editor.


Please visit the live demo here: Flex Posts Demo


This plugin has been tested and works with at least PHP 5.3 installed in your environment. But we strongly recommend you to use the latest PHP version, as using older versions may expose you to security vulnerabilities.


  • Widget settings
  • Widget settings / Filter
  • Widget settings / Display
  • Layout 1 in sidebar
  • Layout 1 in content area
  • Layout 2 in sidebar
  • Layout 2 in content area
  • Layout 3 in sidebar
  • Layout 3 in content area
  • Layout 4
  • Block editor


This plugin provides 1 block.

Flex Posts - Widget and Gutenberg Block


  1. Upload the flex-posts directory to the /wp-content/plugins/ directory.
  2. In your WordPress dashboard, go to Plugins, search for Flex Posts and click Activate.
  3. Go to Appearance » Widgets to add Flex Posts widget into your widget area.
  4. You can also insert the widget from post/page edit screen. Click Add block button, go to Widgets section, and click Flex Posts to add the widget into your content area.


February 24, 2020
I think that your approach is good for AMP (Accelerated Mobile Pages). I have checked other gutenberg block plugin for the POST, then other plugins cannot pagination for the POST, and don’t work in AMP. FLEX POSTS plugin is good applicable on AMP. Your developed this plugin is so good. I appreciate that you develop this plugin for gutenberg block by state-of-art. Best regards, Harikiri(Mr)
October 13, 2019
Sometimes you stumble upon a plugin and you know "this is it"! And it is, lightweigt and very funtional in one. The minimal but elegant styling fits perfectly in modern themes. I use the plugin for my download pages with the Gutenberg block. Thanks for making this little wonder. Best regards, Alfred.
July 25, 2019
I've tried this plugin on several themes, it works great on every one. No problems. Thanks
June 3, 2019
This is a brilliant plugin. I have been using Flex Posts with the Gutenberg editor to create magazine-style landing pages with sections showcasing posts from different categories. This plugin makes it super easy and the results look great. I have also found additional CSS styling to be a breeze as the html generated by this plugin is very clear and logical with classes for all of the elements. Very well done! The four supplied post layouts are great, but can be styled further by displaying with or without images, or just the first post image - enabling the creating of an index page similar to Apple News or popular news sites. Being able to insert FP as widgets in the sidebar as well as a blocks in the main page makes it even more versatile. FP allows you to select posts of all, or a single category, and further filter them by tags. Brilliant for creating sections of distinct content. The only missing feature is the ability to exclude certain tags (e.g. display all posts in recipes, but exclude those tagged 'reviews'). This is nit-picking as the overall functionality is brilliant. Each FP block can display up to 100 posts (!) and these can be shown newest first, oldest first or random - which bring readers to content they might otherwise not come across - It also keeps your page live with fresh content. You can make FP sections look different by displaying or excluding excerpts, author, date, category etc. This makes even no-image lists look interesting. One surprising omission is that there is not option to display a read-more link or button - something that is standard on most plugins like this. Instead readers are forced to click on the title or image to get to the full article. In practise I have found this works just fine. Another feature I would like to see added in future updates is a way to change excerpt length as FP seems to pull this from WP global settings, but it would be nice to be able to set it on a per-block basis. The only issue I have run into is a conflict with Lazy Loader plugin although it only affects the back-end editor, not the front-end view. If I try to edit a page with Flex Posts in Gutenberg editor it does not pull in preview posts unless I disable Lazy Loading plugin first. This is a irritation but not a major flaw as everything still works even if you leave Lazy Loading active - you just don't get to see the live-preview in the Gutenberg editor. Congratulations to the Author for creating a very professional plugin.
Read all 10 reviews

Contributors & Developers

“Flex Posts – Widget and Gutenberg Block” is open source software. The following people have contributed to this plugin.




  • Fixed the_date filter bug
  • Added order by modified date
  • Added any post type


  • Fixed excerpt length value bug
  • Fixed compatibility with older WordPress 5.x versions
  • Added alignwide and alignfull support
  • Optimized query results
  • Updated block registration to init hook


  • Fixed styles for WordPress default themes
  • Fixed other styling issues
  • Fixed a notice in thumbnail display
  • Updated compatibility to WordPress 5.3
  • Updated widget css load to lower priority
  • Updated args filter hook


  • Fixed css not loaded correctly


  • Added title URL
  • Added excerpt length
  • Added read more
  • Added pagination
  • Added exclude tags
  • Updated order by random to work with skip
  • Removed post number & skip limit


  • Added post type option
  • Added show image option
  • Added a filter hook to set template directory
  • Updated template tags to make the functions pluggable


  • Added a new layout (Layout 4)
  • Added filter by tags
  • Added order by random
  • Added a filter hook to modify block title
  • Updated image size filter hook
  • Updated row class & styling (changed fp-posts to fp-row)


  • Fixed excerpt display function


  • Added gutenberg block
  • Fixed some style issues


  • Fixed compatibility with old php versions


  • Initial Release.