Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/245.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 当存在多个自定义分类法时,Get_terms返回错误_Php_Wordpress_Custom Post Type_Categories_Custom Taxonomy - Fatal编程技术网

Php 当存在多个自定义分类法时,Get_terms返回错误

Php 当存在多个自定义分类法时,Get_terms返回错误,php,wordpress,custom-post-type,categories,custom-taxonomy,Php,Wordpress,Custom Post Type,Categories,Custom Taxonomy,嗨,来自StackOverflow的人们 使用get_terms函数时出现问题: 我有一个网站要设计,有两个级别的类别。对于第一级,我使用已经存在的Wordpress分类法“category”,对于第二级,我创建了一个自定义分类法 当用户加载一个页面时,它会获取所有自定义post_类型的“content”,并使用post中设置的两级分类法过滤结果,以仅显示所需的内容 我集成了自定义分类法第一次出现的所有内容,但当我添加新内容时,以前的内容不再有效: 获取术语();在第二个分类法的页面中,返回了我

嗨,来自StackOverflow的人们

使用get_terms函数时出现问题:

我有一个网站要设计,有两个级别的类别。对于第一级,我使用已经存在的Wordpress分类法“category”,对于第二级,我创建了一个自定义分类法

当用户加载一个页面时,它会获取所有自定义post_类型的“content”,并使用post中设置的两级分类法过滤结果,以仅显示所需的内容

我集成了自定义分类法第一次出现的所有内容,但当我添加新内容时,以前的内容不再有效:

获取术语();在第二个分类法的页面中,返回了我的新类别的名称(即使是没有标记的帖子),而get_terms()在第一个类别的页面中返回了一个空数组

当我删除第二个类别时,问题消失了,第一个类别的所有帖子又开始工作了

问题可能来自这样一个事实,即我没有自己编写自定义分类法,而是使用了“简单分类法”插件,但在互联网上似乎没有人真的有问题,所以我不确定它是否来自它

我将向您展示我得到错误的部分:

<ul id="contentList">
    <?php query_posts('post_type=contenus&showposts=-1');
    while ( have_posts() )
        {
            the_post();
            $rubrique = get_terms('rubrique');
                if (ucwords($actual_rubrique) == $rubrique[0]->name){
                    echo '<a href="';
                    $url = explode('?', $_SERVER['REQUEST_URI']);
                    echo $url[0];
                    echo '?tab=';
                    echo $post->ID;
                    echo '"><li>';
                    echo the_title();
                    echo '</li></a>';};?>
    <?php }; ?>
</ul>
例如,当它工作时,get_terms()返回城市主义类别的“Urbanisme”。(这是一个法国网站)

编辑:

我试图改变我的思维方式:我没有在cutsom post_类型的页面上执行所有这些操作,而是将其移动到page.php。我仍然有同样的问题:

当我只有一个学期时,网站上的每一页都会贴上标签,当有两个学期时,他们都会使用第二个学期,即使是那些被检查为第一个学期的学生

我真的不明白发生了什么事。请帮助:/

问题已解决:

我不明白get_terms()是如何工作的。它只是返回了我的分类法中所有现有术语的数组

要获取我使用的实际术语,请使用\u terms():

  if (has_term($actual_rubrique, 'rubrique', $post)){ do_stuff();};