列出在自定义字段中具有值的帖子

时间:2022-01-01 作者:Hanan Cohen

我读了好几篇帖子,并堆叠了交换答案,但仍然无法将代码组合在一起工作。

我读了这篇文章Query posts by custom fields

我有一些带有自定义字段的帖子,比如说;出版商;带值“;IBM公司;。

我有一个页面列出了自定义字段的所有值;出版商;。

我希望IBM链接到所有具有此meta\\u值的帖子的搜索结果。

我的索引。php页面以开头

        <?php while(have_posts()){
        the_post(); ?>
我需要发送到索引。用meta\\u键和meta\\u值php请求,在查询中添加一个过滤器并列出结果,但我不知道如何;缝合“;一切都是为了让它做我想做的。

谢谢

1 个回复
最合适的回答,由SO网友:Buttered_Toast 整理而成

假设此meta用于post类型;“发布”;可以通过两种方式创建循环,get_postsWP_Query.
我也更喜欢meta_query 在上的属性meta_valuemeta_key, 因为它添加了一个选项,可以在数组已经存在的情况下更快地添加更多元查询。

这个get_posts 方法

$posts = get_posts([
    \'post_type\'      => \'post\',
    \'post_status\'    => \'publish\',
    \'posts_per_page\' => -1,
    \'meta_query\'     => [
        [
            \'key\'     => \'publisher\',
            \'value\'   => \'IBM\',
        ]
    ]
]);

foreach ($posts as $post) {
    // your code here
}
这个WP_Query 方法

$posts = new WP_Query([
    \'post_type\'      => \'post\',
    \'post_status\'    => \'publish\',
    \'posts_per_page\' => -1,
    \'meta_query\'     => [
        [
            \'key\'     => \'publisher\',
            \'value\'   => \'IBM\',
        ]
    ]
]);

if ($posts->have_posts()) {
    while ($posts->have_posts()) {
        the_post();

        // your code here
    }
}
了解其工作原理的最佳资源是WP_Query 文档

相关推荐

如何让`wp-list-table`显示我在Custom-Post中的`Custom-Fields`

一切都好吗<我需要wp-list-table 也要显示custom-fields 在每个custom-post 我有,但我不知道如何做到这一点,在这幅图中,它显示了带有字段的表格:Title, Author and Publication Date: 我想要的是能够选择custom-fields 将出现,例如以下示例Title, Carta, Naipe, Author, and Date of Publication: