We'll create fresh WordPress site with Custom Query Shortcode installed. You have 20 minutes to test the plugin after that site we'll be deleted.
This plugin gives you [query]
shortcode which enables you to query and output any posts filtered by specific attributes.
You can use all parameters supported by WP_Query class to filter the posts; you can query for specific post types, categories, tags, authors, etc.
Aside from WP_Query parameters, the shortcode also supports the following additional parameters:
You can define how you want to format the output inline within an opening [query]
and closing [/query]
tag.
Available keywords are: TITLE, CONTENT, AUTHOR, AUTHOR_URL, DATE, THUMBNAIL, CONTENT, COMMENT_COUNT.
The following example will display the latest 5 posts from the category with the ID of 3, showing a post title and comment count, with a link to the post:
[query posts_per_page=”5″ cat=”3″]
[/query]
Grid display
With the “cols” parameter you can display the output in a grid.
[query posts_per_page=”3″ cols=”3″] {THUMBNAIL}
{CONTENT} [/query]
will display the latest 3 posts in the defined template, in 3 columns.
The plugin will automatically divide the grid into rows based upon the ‘posts_per_page’ option, divided by the ‘cols’ option.
With the “lens” parameter you can customize the display of the query results using a template. Some basic lenses/templates are provided:
Bootstrap lenses
Some pre-defined lenses/templates are provided which use JavaScript Components from the Bootstrap CSS framework.
This feature relies on Bootstrap library to be already loaded on the page, the plugin does not include it.
If you’re using a Bootstrap-based theme, this should work; otherwise you can use the Bootstrap plugin).
This will show the latest 3 posts in a tabbed widget.
[query posts_per_page=”3″ lens=”tabs”]
This will create an accordion widget of all our posts from the “faq” post type.
[query posts_per_page=”0″ post_type=”faq” lens=”accordion”]
This creates a carousel of latest five featured posts:
[query posts_per_page=”5″ featured=”true” lens=”carousel”]
Custom Lenses/templates
You can create your own custom templates and put them into one of these pre-defined folder names within your theme:
Or simply specify your own subfolder in the ‘lens’ parameter:
[query lens=”folder/template-name”]
Starting with version 0.4, you can use Twig templates for your output. Support for Twig is provided by the Timber library.
This requires that Timber be be installed as a plugin or included in your theme.
To use a Twig template for your query output, simply use the ‘twig_template’ parameter instead of the ‘lens’ parameter, and provide the path to your template:
[query twig_template=”folder/template-name.twig”]