【问题标题】:Meta Query Filter by Tag Wordpress按标签 Wordpress 的元查询过滤器
【发布时间】:2015-08-04 21:59:16
【问题描述】:

我目前有多个页面,每个页面中都有一个名为“国家/地区”的自定义字段。

在“国家”字段中,我的值是“英国、美国、巴西”。

我想要做的是在页面上显示具有我在自定义字段“国家”中列出的标签的帖子(在这种情况下,显示具有任何标签“英国”、“美国”和'巴西')。

我有以下代码,但我不知道如何操作它来执行上述操作?

$args = array (
    'post_type'              => array( 'post' ),  // YOUR POST TYPE
    'meta_query'             => array(
        array(
            'key'       => 'country',  
            'value'     => $your_country,  // THE COUNTRY TO SEARCH
            'compare'   => 'LIKE',  // TO SEARCH THIS COUNTRY IN YOUR COMMA SEPERATED STRING
            'type'      => 'CHAR',
        ),
    ),
);

// The Query
$query = new WP_Query( $args );

似乎只是针对单个值进行过滤?

任何帮助实现上述目标将不胜感激。

【问题讨论】:

    标签: php wordpress


    【解决方案1】:

    我会设置一个自定义分类来创建另一个版本的“标签”,称为“国家”,然后您可以进行分类查询。

    有关创建自定义分类的简单界面,请参阅“自定义帖子类型 UI”。

    https://wordpress.org/plugins/custom-post-type-ui/
    
    1. 安装 CPT UI(上面的插件)。
    2. 转到菜单中的“添加/编辑分类法”。添加“国家”作为分类。将其附加到您的“帖子”post_type 和“页面”。
    3. 标记页面(用于显示帖子)和带有您所在国家/地区标签的“帖子”。

    然后您可以在页面模板中使用自定义 wp_query 来显示带有国家/地区标签的帖子。

    要获取与您的页面相关联的国家/地区术语的 ID:

    $countryTerms = wp_get_post_terms($post->ID, 'country', array("fields" => "ids"));

    然后更改您的查询参数以收集带有国家/地区标签的帖子。

    $args = array(
        'post_type' => 'post',
        'tax_query' => array(
            array(
                'taxonomy' => 'country',
                'field'    => 'term_id',
                'terms'    => $countryTerms
            ),
        ),
    );
    

    如果您想坚持使用元字段,请尝试将您的“TYPE”值更改为“NUMERIC”。

    【讨论】:

    • 抱歉 - 只是通读插件本身,我仍然需要通过标签而不是自定义分类,您答案的下半部分可以做到这一点吗?
    • @Jonathan 对不起你失去了我?假设您已经从接受的答案中选出了一个解决方案?
    • 还是有点困惑,我不想创建自定义帖子类型。我想要做的是在页面上有一个自定义字段,其中包含我想要过滤页面上的帖子的标签。我给了你答案,因为你花时间想写它:)
    • @Jonathan 使用插件添加自定义分类,而不是 post_type。认为这应该可行...安装 CPT UI(上面的插件),转到菜单中的“添加/编辑分类法”。添加“国家”作为分类。将其附加到您的“帖子”post_type 和“页面”。用您的国家标签标记页面(用于显示帖子)和“帖子”。然后,您可以在页面模板中使用自定义 wp_query 来显示带有国家标签的帖子。
    • 感谢您为我清理它(有点 WP 菜鸟!)您能否编辑您的答案,以便如果其他人遇到问题,他们可以投票给您 :)
    猜你喜欢
    • 2012-07-04
    • 1970-01-01
    • 2019-02-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-07-09
    相关资源
    最近更新 更多