我想以这样一种方式过滤帖子,即get_post_meta($post->ID, "project_cat", true)
(它返回一个post ID)等于我指定的值,如图所示。
有什么办法吗?
我对与兼容的方式特别感兴趣WP-Paginate plugin.
我想以这样一种方式过滤帖子,即get_post_meta($post->ID, "project_cat", true)
(它返回一个post ID)等于我指定的值,如图所示。
有什么办法吗?
我对与兼容的方式特别感兴趣WP-Paginate plugin.
这个WP_Query
对象接受post元参数。一般来说,您需要执行以下操作:
$my_query = new WP_Query(
array(
\'post_type\' => \'post\',
\'meta_query\' => array(
array(
\'key\' => \'project_cat\',
\'value\' => \'my-value\',
)
),
// Other query properties
)
);
其中,“我的值”是您的“指定值”。Example usage:
add_action( \'pre_get_posts\' , \'my_pre_get_posts\' );
function my_pre_get_posts( $query ) {
// Check this is main query and other conditionals as needed
if( $query->is_main_query() ) {
$query->set(
\'meta_query\',
array(
array(
\'key\' => \'project_cat\',
\'value\' => \'my-value\'
)
)
);
}
}
请参见WP_Query, pre_get_posts. 您可以使用所有条件。目前,这会在每个主查询上运行—这可能是您不想要的。或者,您可以使用query_posts
(一种更简单但效率更低的方法)仅为模板中的特定实例更改查询。
您可以根据元值过滤帖子,并在cms页面上显示帖子。
\'meta_query\' => array(
array(
\'key\' => \'front_page\',
\'value\' => \'yes\',
\'compare\' => \'LIKE\',
))
请参阅教程以了解分步说明http://www.pearlbells.co.uk/filter-posts-custom-fields-wp_query/