內容簡介
此外掛提供了 [query] 短碼,讓你能夠查詢和輸出任何經過特定屬性篩選的文章。
使用方式
你可以使用 WP_Query 類別所支援的 所有參數來篩選文章;你可以查詢特定的文章類型、分類、標籤、作者等等。
其他支援的參數
除了 WP_Query 的參數外,短碼還支援以下額外參數:
featured:查詢置頂文章,預設並不會包含在查詢範圍中。
thumbnail_size:指定 {THUMBNAIL} 圖片大小,在此你可以使用內建圖片大小或自訂大小。
content_limit:限制 {CONTENT} 變數的字數上限;預設為「0」,表示輸出所有內容。
posts_separator:單獨文章之間的文字分隔符號。
lens:自訂輸出範本;詳見下方描述。
twig_template:使用 Twig 範本引擎的輸出範本;需要使用 Timber 庫。
格式化輸出
你可以在開始的 [query] 與結束的 [/query] 標籤內定義輸出格式。
可使用的關鍵字有:TITLE、CONTENT、AUTHOR、AUTHOR_URL、DATE、THUMBNAIL、CONTENT、COMMENT_COUNT。
以下示範將會顯示相關分類ID為3的最新五篇文章,會包含文章標題和評論計數,並且有一個指向文章的連結:
[query posts_per_page=”5″ cat=”3″]
{TITLE} ({COMMENT_COUNT})
[/query]
網格顯示
藉由「cols」參數,你可以在網格內顯示輸出。
[query posts_per_page=”3″ cols=”3″] {THUMBNAIL}
{TITLE}
{CONTENT} [/query]
將會以數列模式顯示最新三篇文章,採用預設的模板、分為3欄顯示。
此外掛會自動根據「posts_per_page」選項除以「cols」選項,分割為多列的網格。
Lenses (輸出範本)
透過「lens」參數,你可以使用範本客製化查詢結果的顯示。此外掛提供某些基本範本:
ul:一個包含文章標題連結的無序列表。
ul-title-date:和「ul」相同,但同時顯示了發布日期。
article-excerpt:一系列文章,包含標題的連結和節錄文字。
article-excerpt-date:和「article-excerpt」相同,但同時顯示了發布日期。
cards:在頁首顯示文章縮圖、標題連結,並接著節錄文字輸出。
Bootstrap 範本
此外掛提供了預定義的範本/模板,利用 Bootstrap CSS 框架中的 JavaScript 組件。
此功能需要頁面已經載入 Bootstrap 庫,因此此外掛並沒有包含 Bootstrap 庫。
如果你使用的是基於 Bootstrap 的佈景主題,這個功能可用;否則可以使用Bootstrap 插件來實現。
Tabs
這將顯示出一個有分頁的小工具,並顯示最近的 3 篇文章。
[query posts_per_page=”3″ lens=”tabs”]
外掛標籤
開發者團隊
原文外掛簡介
This plugin gives you [query] shortcode which enables you to query and output any posts filtered by specific attributes.
Usage
You can use most parameters supported by WP_Query class to filter the posts; you can query for specific post types, categories, tags, authors, etc.
Other supported parameters
Aside from WP_Query parameters, the shortcode also supports the following additional parameters:
featured: to query for sticky posts which by default are excluded from the query.
thumbnail_size: to specify the size of the {THUMBNAIL} images. You can use built-in image sizes or custom ones you’ve defined.
content_limit: to limit the number of words of the {CONTENT} var; by default it’s “0” which means it outputs the whole content.
posts_separator: text to display between individual posts.
lens: custom output template – see description below.
twig_template: output template using Twig templating engine – requires the Timber library.
Formatting the output
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″]
{TITLE} ({COMMENT_COUNT})
[/query]
Grid display
With the “cols” parameter you can display the output in a grid.
[query posts_per_page=”3″ cols=”3″] {THUMBNAIL}
{TITLE}
{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.
Lenses (output templates)
With the “lens” parameter you can customize the display of the query results using a template. Some basic lenses/templates are provided:
ul: unordered list of linked post titles.
ul-title-date: same as ‘ul’, but also displays the posted date.
article-excerpt: series of articles, with a header containing the linked post title, and the excerpt.
article-excerpt-date: same as ‘article-excerpt’, but also displays the posted date.
cards: displays the post thumb above the header with linked post title, followed by the excerpt.
Bootstrap lenses
Some pre-defined lenses/templates are provided which use JavaScript Components from the Bootstrap CSS framework. The generated markup is compliant with the 5.x version of Bootstrap.
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).
Tabs
This will show the latest 3 posts in a tabbed widget.
[query posts_per_page=”3″ lens=”tabs”]
Accordion
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”]
Carousel
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:
‘query-shortcode-templates’
‘partials/query-shortcode-lenses/’
‘html/lenses/’
Or simply specify your own subfolder in the ‘lens’ parameter:
[query lens=”folder/template-name”]
Twig Template Support
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 2.x be installed as a Composer dependency.
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. By default, Timber looks within the views folder in your active theme. You can change the default template location in Timber.
Examples:
[query twig_template="template-name.twig"]
[query twig_template="folder/template-name.twig"]
