Written as a platform for plugin developers, this simple-yet-powerful plugin allows you to run a custom WP_Query using shortcode, then display the results any way imaginable using compatible nested shortcodes.
How It Works
Add the following shortcode to any WordPress post or page:
[wpquery orderby="rand"] [wpq_index] [/wpquery]
In the example above, the
[wpquery] shortcode performs a WP_Query using orderby=”rand” to display the results in random order. A full list of query parameters can be found here: WP_Query.
Next, the nested
[wpq_index] shortcode displays the results of the custom WP_Query as an unordered list of post title links.
Why It Rocks
Written as a platform for plugin developers, this simple-yet-powerful plugin allows developers to write compatible plugins that manipulate the way post data is displayed – without needing to write functions and shortcode parameters to first retrieve the post data.
[wpq_index] shortcode function included in this plugin is just a simple example of what it can do. Any plugin that performs a WP_Query could be rewrtitten and optimized to work with this plugin, eliminating a lot of unnecessary code.
Best of all, this plugin gives users total control over the WP_Query being performed!
- Activate the plugin through the ‘Plugins’ menu in WordPress
- In a post or page, place the nested shortcode:
[wpquery] [wpq_index] [/wpquery]
[wpq_index]with shortcode from any other compatible plugin
- Why did you develop this plugin?
Many of the feature requests I received for those plugins came from folks who wanted more granular control over the data that was retrieved by WP_Query (e.g. only show posts of a particular category / tag / post-type / taxonomy).
The only way I could accommodate those feature requests was to add more shortcode parameters to the plugin, but I was also adding shortcode parameters to handle how the post data was displayed. After a while, things started getting out of hand.
This plugin was the solution.
By separating the shortcode for ‘getting post data’ from the shortcode for ‘displaying post data’, I was able to simplify the shortcodes for users.
- What shortcode parameters does `[wpquery]` accept?
It accepts all of the same parameters as WP_Query.
- Where can I find compatible plugins?
Going forward, all of my plugins that use WP_Query will require this plugin to be installed. You can find my plugins here: Shaun’s Profile
To find compatible plugins written by other authors, try searching the WP Plugin Repository for “Shaun’s WP Query Shortcode”.
If you’re real savvy, you can even write your own compatible plugins! Just use the
mnsp_wpq_indexfunction that comes with this plugin as a template…and if you upload it to the repository, make sure you let people know that it requires Shaun’s WP Query Shortcode to work!
- How can I request support or report a bug?
Please post your question as a comment on the apporpriate plugin page of my website: MyNewSitePreview.com
Contributors & Developers
“Shaun's WP Query Shortcode” is open source software. The following people have contributed to this plugin.Contributors
Interested in development?
- Modified the
wpq_indexshortcode function to exclude the current post/page from the list.
- Added function to detect array expressions in shortcode parameters and convert them to arrays. This allows you to set WP_Query parameters such as
- Thanks to Netcoder for providing this solution!
- First public release.