如何检查两个元数据中的特定值?

时间:2016-10-28 作者:bdtheme

在元查询中使用两个数组对我不起作用,尤其是在使用第二个数组的值时。

如果我删除了第二个数组或第一个数组或两者的值,那么它就正常工作了,但我需要检查两个键。

如果$current_player_name 值存在于任何元键中,然后我需要显示相关帖子的标题。

有谁能告诉我以下代码的问题吗?

<?php 
  $current_player_name = get_post_meta( get_the_ID(), \'football_team_team_name\', true );

    $args = array(
        \'post_type\'  => \'football_fixture\',
        \'meta_query\' => array(

                    \'relation\' => \'OR\',
                    array(
                            \'key\' => \'pb_responsible_home_person\',
                           \'value\' => $current_player_name 

                    ),
                    array(
                            \'key\' => \'pb_responsible_away_person\',
                            \'value\' => $current_player_name 

                    ),

        )// meta query end 
    );//$args end

 $player_query = null;
    $player_query = new WP_Query($args); ?>


<!-- the loop -->
    <?php while ( $player_query->have_posts() ) : $player_query->the_post(); ?>
        <ol>

            <li><?php the_title(); ?></li>
        </ol>


    <?php endwhile; ?>
    <!-- end of the loop -->

    <?php wp_reset_postdata(); ?>

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

您需要将meta\\u compare参数添加到元查询中。现在,您的代码如下所示:

 \'meta_query\' => array(
                        \'relation\' => \'OR\',
                        array(
                                \'key\' => \'pb_responsible_home_person\',
                               \'value\' => $current_player_name,
                               \'compare\' => \'=\'

                        ),
                        array(
                                \'key\' => \'pb_responsible_away_person\',
                                \'value\' => $current_player_name,
                                 \'compare\' => \'=\'

                        ),

            )// meta query end 
编辑

$current\\u player\\u name=get\\u post\\u meta(get\\u the\\u ID(),“football\\u team\\u team\\u name”,true);

    $m_keys =array(\'pb_responsible_home_person\',\'pb_responsible_away_person\')

    $meta_query = array(\'relation\' => \'OR\');

    foreach ($m_keys as $m_key) {
        $meta_query[] = array(
            \'key\' => $m_key,
            \'value\' => $current_player_name,
            \'compare\' => \'=\'
        );
    }

    $args = array(
       \'post_type\' => \'football_fixture\',
       \'meta_query\' => $meta_query
    );
试试这个,当我在本地检查时工作

相关推荐

如何在WordPress开发中添加带有ACF自定义字段ID的自定义metabox字段

我是wordpress开发的新手,我在我的项目中安装了高级自定义字段插件,并创建了两个文本字段名称&;我还创建了一个插件,可以在帖子中创建一个带有文本框的元框。现在在帖子中,我将获得自定义字段名称(&A);电子邮件和我的自定义元框旁边将出现,但我必须将我的元框附加到名称字段旁边,即在名称字段和电子邮件字段之间。我的metabox代码如下。请任何人帮帮我//Creating the custom meta box function my_notice_meta_box() {