获取与当前帖子相关的帖子

时间:2017-05-31 作者:FRQ6692

我在移动CPT中添加了meta框,在这里我成功地使用Ajax添加了一篇文章。这是代码

function metabox_for_select2() {
add_meta_box( \'rudr_select2\', \'My metabox\', \'display_select2_metabox\', \'mobile\', \'normal\', \'default\' );
}

function display_select2_metabox( $post_object ) {
$html = \'\';
$appended_posts = get_post_meta( $post_object->ID, \'select2_posts\',true );
$html .= \'<p><label for="select2_posts">Posts:</label><br /><select id="select2_posts" name="select2_posts[]" multiple="multiple">\';

if( $appended_posts ) {
    foreach( $appended_posts as $post_id ) {
        $title = get_the_title( $post_id );
        $title = ( mb_strlen( $title ) > 50 ) ? mb_substr( $title, 0, 49 ) . \'...\' : $title;
        $html .=  \'<option value="\' . $post_id . \'" selected="selected">\' . $title . \'</option>\';
    }
}
$html .= \'</select></p>\';

echo $html;
}
现在,当我打开一篇文章时,将文章添加到meta box之后,我需要显示所有这些文章,meta box在哪里有这篇文章。

这个查询显示了我在不同帖子上添加到元框的所有帖子,而不是具体的帖子。如何在查询显示推荐结果后管理查询。

<?php   
    $posts = get_post_meta( $post_id, \'select2_posts\', true );
    $args = array(
     \'posts_per_page\' => 10,
     \'post_type\' => \'mobile\',
     \'post__in\' => $posts
 );

$results = new WP_Query($args);
while ($results->have_posts()) {
    $results->the_post();
    the_title();
}
wp_reset_postdata();           
?>  
如何获得那些在meta box中有此帖子或链接的帖子?

我正在上使用此查询single.php 并试图在这里显示所有文章,其中meta box有这篇文章。

Example:

添加2个自定义帖子类型=mobile &;processor

处理器有2个岗位=Nvidia , Intel

手机有2个帖子=Apple , Nokia

添加元框select2_posts 至CPTmobile

之后,苹果使用Nvidia处理器&;诺基亚使用Intel处理器,因此将处理器添加到meta box。

最后,我们将nvidia与Apple&;intel到诺基亚内置元盒

Now 我想当我在侧边栏中打开Nvidia帖子时苹果手机秀&;当我在侧边栏中打开“英特尔邮报”诺基亚手机秀时。

简单地说,显示那些使用我当前打开的处理器的手机。

1 个回复
SO网友:Johansson

根据我对您问题的理解,您正在尝试进行元查询。可以通过以下参数执行此操作:

$args = array(
    \'posts_per_page\' => 10, 
    \'post_type\' => \'mobile\',
    \'meta_query\' => array(
        array(
            \'key\' => \'select2_posts\',
            \'compare\' => \'LIKE\',
            \'value\' =>  $value_here
        )
    )
);
您可以阅读有关元查询的更多信息here.

结束

相关推荐

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

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