按自定义字段值过滤帖子不起作用

时间:2017-08-13 作者:Von

我有一个名为Location的自定义帖子类型,还有一个名为City的自定义字段。我还对称为Specialties的帖子类型进行了分类。专用过滤器与tax_query, 但我无法筛选自定义字段。

这不起作用,我一直在尝试的其他一切也不起作用:

$args = array(\'post_type\' => \'location\',
    \'tax_query\' => array(
          array(
          \'taxonomy\' => \'specialties\',
          \'field\'    => \'slug\',
          \'terms\'    => $specialty,
        )),
    \'meta_query\' => array(array(\'city\' => $location,\'compare\' => \'=\',))
    );

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

你的\'meta_query\' 值错误-应为:

\'meta_query\' => array(
    array(
        \'key\'     => \'city\',
        \'value\'   => $location,
        \'compare\' => \'=\',
    )
);
无论如何,你不需要使用\'meta_query\' 在这种情况下,您必须通过one 元字段。。。因此,要获得更优化的代码,请尝试替换$args 具有以下功能:

$args = array(
    \'post_type\' => \'location\',
    \'tax_query\' => array(
        array(
            \'taxonomy\' => \'specialties\',
            \'field\'    => \'slug\',
            \'terms\'    => $specialty,
        )
    ),
    \'meta_key\'  => \'city\',
    \'meta_value\'=> $location,
);

结束

相关推荐

How to get terms for taxonomy

如何获取分类法customcategorie的所有术语我试图在分类法中保留代码。php<?php /* Template Name:Taxoo */ get_header(); ?> <?php $term = get_term_by( \'slug\', get_query_var( \'term\' ), get_query_v