WP_Query中的自定义字段值

时间:2015-06-13 08:49:08

标签: php wordpress advanced-custom-fields

我想要一个显示所有帖子的WP_Query,它们与显示帖子具有相同的自定义字段值。

这是我的代码:

    function show_other_posts() {
        //Get the current custom field value
        if( get_field('desktop_cat') ){
            $redirect_value = the_field('desktop_cat');

            //Echo the current custom field value for debugging
            echo $redirect_value;

            //Query Posts with same value
            $redirect_args = array(
                    'posts_per_page' => -1,
                    'post_type'     => 'post',
                    'meta_query' => array(
                        array(
                          'key' => 'desktop_cat',
                          'value' => $redirect_value,
                          'compare' => '='
                        )
                    )
            );

            //Display the Post Titles
            $the_query = new WP_Query ( $redirect_args );
            if( $the_query->have_posts() ): while( $the_query->have_posts() ) : $the_query->the_post();
            the_title();
            endwhile;endif;
            wp_reset_query();
        };
    };

问题必须是'value' => $redirect_value,,因为当我手动输入值时效果很好。该变量一定存在问题。

有什么想法吗?

非常感谢

1 个答案:

答案 0 :(得分:2)

the_field()回显字段值。您应该使用get_field()代替(返回,而不是回显字段值):

$redirect_value = get_field('desktop_cat');