META_QUERY不使用_CONTENT()

时间:2015-12-15 作者:Tcmxc

我有两种自定义帖子类型:eventsvenue. 我正在尝试在场馆页面中查询相关活动。我将相关变量存储在自定义字段中venues 以及events 中的相关值the_content(). 我能拉吗the_content() 从跑步前的事件new WP_Query() 如果是这样的话,为什么这不起作用?

$args_up = array(
    \'post_type\'         => \'events\', 
    \'posts_per_page\'    => 20,
    \'paged\'             => $paged, 
    \'meta_query\'        => array(
        array(
            \'key\'       => the_content(),
            \'value\'     => $related_venue_variable,
            \'compare\'   => \'==\'
        )
    )   
); 

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

the_content() 将数据回显到页面,因此您的查询基本上如下所示:

\'meta_query\' => array(
    array(
        \'key\'     => \'\',
        \'value\'   => $related_venue_variable,
        \'compare\' => \'==\'
     )
)
你想要的get_the_content() 返回可以在查询中传递的字符串。

然而,将帖子内容作为元键没有任何意义。首先,that key only holds 225 characters. 考虑到您可能正在将另一篇文章中的密钥存储在第二篇文章的文章内容中,这可能不是问题,但对文章内容应用的任何过滤器都会改变检索到的内容。简而言之,你所做的是一个坏主意。

现在我在猜测,但我认为这接近您想要实现的目标:

if( have_posts() ) {
    while( have_posts() ) {
        the_post();

        $args_up = array(
            \'post_type\'         => \'events\', 
            \'posts_per_page\'    => 20,
            \'paged\'             => $paged, 
            \'meta_query\'        => array(
                array(
                    \'key\'       => $post->post_content,
                    \'value\'     => $related_venue_variable,
                    \'compare\'   => \'==\'
                )
            )
        );

        $eq = new WP_Query( $args_up );
    }
}
但将密钥保存为帖子内容仍然是个坏主意。您最好在两篇文章中都将其保存为自定义元。当然,如果我确切地知道这一切是如何进行的,可能有更好的方法来实现这一点。

相关推荐

使用新的WP-Query()从循环中过滤后期格式;

嗨,我目前正在为我的博客构建一个主题。下面的代码指向最新的帖子(特色帖子)。因为这将有一个不同的风格比所有其他职位。然而我想过滤掉帖子格式:链接使用我在循环中定义的WP查询,因为它给我带来了更多的灵活性。我该怎么做呢? <?php $featured = new WP_Query(); $featured->query(\'showposts=1\'); ?> <?php while ($featured->have_post