自定义分类的单个帖子的条件标签

时间:2017-12-04 12:37:35

标签: php wordpress cookies taxonomy custom-taxonomy

我遇到需要在执行自定义分类法的单个页面时设置cookie的情况。

由于WordPress不允许从模板文件设置cookie,我需要在setcookie操作中使用init

参考:https://wordpress.stackexchange.com/questions/67074/issues-with-set-cookie

所以我的功能如下,

function set_location_cookie() {

    // Taxonomy : `store_location`
    if( is_tax( 'store_location' )) {

        die('Yeah. It Worked !!');

        $school = "Some Value";
        setcookie('default_school', $school, time()+3600);
    }
}
add_action( 'init', 'set_location_cookie');

我已阅读此文档https://codex.wordpress.org/Function_Reference/is_tax以及来自StackOverflow的帖子,Conditional Tags for Custom Taxonomy in Custom Post Type

在每种情况下,他们都将目标定位为分类法或条件数据的存档页面,如下所示,

is_tax( 'store_location', array('ny', 'tx', 'ga') );

有没有办法轻松检测分类单页面,而不是将所有分类法都放在数组中。

1 个答案:

答案 0 :(得分:0)

要检查帖子在某些分类中是否包含某些字词,您可以使用is_object_in_term($post_id, $taxonomy)

例如

function set_location_cookie() {
    $post_id = get_the_ID();
    // Taxonomy : `store_location`
    if( is_object_in_term($post_id, 'store_location') ) {

        die('Yeah. It Worked !!');

        $school = "Some Value";
        setcookie('default_school', $school, time()+3600);
    }
}
add_action( 'wp', 'set_location_cookie');