WordPress 查询特定元字段的帖子
我想根据名为 'montakhab' 的元字段查询帖子,其值应为 '1'。
以下是实现方法:
$data = array(
'post_type' => 'post',
'post_status' => 'publish',
'orderby' => 'date',
'order' => 'ASC',
'posts_per_page' => '10',
'meta_query' => array(
array(
'key' => 'montakhab',
'value' => '1',
'compare' => '='
)
)
);
query_posts($data);
if( have_posts() ) {
while( have_posts() ): the_post();
// 在此处编写用于显示帖子的代码
endwhile;
}
在此代码片段中,我们定义了一个名为 `$data` 的数组,其中包含以下参数:
- `post_type`:帖子类型(默认为 'post')
- `post_status`:帖子状态(默认为 'publish')
- `orderby`:排序方式(默认为 'date')
- `order`:排序顺序(默认为 'ASC')
- `posts_per_page`:要显示的帖子数量(默认为 '10')
- `meta_query`:一个用于定义元字段查询的数组
在 `meta_query` 数组中,我们定义了一个数组,其中包含以下参数:
- `key`:元字段名称(即 'montakhab')
- `value`:元字段的值(即 '1')
- `compare`:比较运算符(即 '=')
此代码将查询所有 `post_type` 为 'post'、`post_status` 为 'publish' 的帖子,并按日期升序排序。它还将使用 `meta_query` 筛选具有名为 'montakhab' 的元字段,其值为 '1' 的帖子。
您可以在循环内编写代码以显示查询到的帖子。例如,您可以使用 `the_title()` 和 `the_content()` 函数来显示帖子的标题和内容。
请注意,您需要使用 `wp_reset_query()` 函数重置循环后运行的查询。
wp_reset_query();
这将确保您在后续查询中不会遇到问题。
原文地址: https://www.cveoy.top/t/topic/ndv2 著作权归作者所有。请勿转载和采集!