使用自定义字段中的字符串作为数组值进行查询

时间:2015-05-15 作者:pdg87

首先,我想做的是在y类帖子上显示x类帖子,其中y类帖子上自定义字段的文本与x类帖子上两个自定义字段之一的文本匹配。

我使用高级自定义字段,在cat x和y的每篇文章上都有一个自定义文本字段来存储属性列表。e、 红色、汽车、运动、合金。

然后我想检查一下他们是否在立柱之间匹配,并将立柱拉到他们匹配的位置。

我遇到的问题是获取自定义字段值(文本字段),然后将其传递到数组中)文本字段包含逗号分隔的值,例如“car”、“red”,如果我打印字段,它会显示这些值。我尝试使用explode将字符串转换为数组,但仍然没有返回任何结果。如果我手动将“car”、“red”添加到数组中,它就会起作用。

我当前正在使用WP\\U查询,我的最新查询是:

    <?php 

$list = get_field( "main_attributes" );

$arr = array($list);

$array = explode(\',\', $list);

$args = array(
    \'meta_query\' => array(
        \'relation\' => \'OR\',
        array(
            \'key\'     => \'style_atrributes\',
            \'value\'   => $array,
            \'compare\' => \'IN\'
        ),
        array(
            \'key\'     => \'car_atrributes\',
            \'value\'   => \'$array\',
            \'compare\' => \'IN\'
        ),
    ),
);



$custom_query = new WP_Query($args); 
while($custom_query->have_posts()) : $custom_query->the_post(); ?>

    <div <?php post_class(); ?> id="post-<?php the_ID(); ?>">
        <h1><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h1>
        <?php the_content(); ?>
    </div>

<?php endwhile; ?>
<?php wp_reset_postdata(); // reset the query ?>

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

好的,任何想要实现这一点的人,代码都是有效的。只需将值保存在自定义字段中,不带引号。e、 g.红色,汽车

    <?php 

$list = get_field( "main_attributes" );


$array = explode(\',\', $list);

$args = array(
    \'meta_query\' => array(
        \'relation\' => \'OR\',
        array(
            \'key\'     => \'style_atrributes\',
            \'value\'   => $array,
            \'compare\' => \'IN\'
        ),
        array(
            \'key\'     => \'car_atrributes\',
            \'value\'   => $array,
            \'compare\' => \'IN\'
        ),
    ),
);



$custom_query = new WP_Query($args); 
while($custom_query->have_posts()) : $custom_query->the_post(); ?>

    <div <?php post_class(); ?> id="post-<?php the_ID(); ?>">
        <h1><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h1>
        <?php the_content(); ?>
    </div>

<?php endwhile; ?>
<?php wp_reset_postdata(); // reset the query ?>

结束

相关推荐

警告:CALL_USER_FUNC_ARRAY()要求参数1是有效的回调函数

我已经在本地主机服务器上安装了Wordpress。我是一个创建自定义菜单的人。当我试图从中删除现有的“主”菜单时,会出现以下错误警告:call\\u user\\u func\\u array()要求参数1为有效回调,在F:\\AppServ\\www\\itexperthouseen\\wp includes\\comment模板中找不到函数“tnc-remove\\u default\\u menu”,或函数名无效。phpinn我的管理页面。有人能提出这个问题的解决方案吗?我的评论。php代码为:-