匹配WordPress中的任何标签

时间:2014-10-13 19:42:34

标签: php wordpress

我有一个简单的功能,可以为帖子分配一个类别(使用save_post)如果帖子有任何匹配的术语。问题是,虽然它适用于一个术语,但尝试匹配多个术语是行不通的。这有效:

function categorize_from_tags( $post_id ) {

    $cat_boosted = 'cat-boosted';
    $terms = 'twin-turbo';

    if( has_term( $terms, 'post_tag' ) ) {
        wp_set_object_terms( $post_id, $cat_boosted, 'category', true );
    }

}
add_action( 'save_post', 'categorize_from_tags', 120, 1 );

当我添加多个术语时,它不起作用:

function categorize_from_tags( $post_id ) {

    $cat_boosted = 'cat-boosted';
    $terms = 'twin-turbo,ugr'; // Adding more than one term

    if( has_term( $terms, 'post_tag' ) ) {
        wp_set_object_terms( $post_id, $cat_boosted, 'category', true );
    }

}
add_action( 'save_post', 'categorize_from_tags', 120, 1 );

1 个答案:

答案 0 :(得分:3)

您发送的类别名称为“twin-turbo,ugr”。

你想发送一个像这样的数组:

$terms = ['twin-turbo','ugr'];

确保检查您尝试使用的WP Global功能的参数。

has_term接受要匹配的字符串或字符串数​​组。