WordPress自定义分类页面stdclass注意事项

WordPress自定义分类页面stdclass注意事项,wordpress,custom-taxonomy,notice,Wordpress,Custom Taxonomy,Notice,我试图在WordPress中将自定义分类添加到自定义帖子类型中。启用wp_debig时,wp admin页面会抛出一条通知: 注意:第503行/opt/lampp/htdocs/wordpress/wp includes/admin-bar.php中未定义的属性:stdClass::$taxonomy 第503行中只有以下内容: && ( $tax = get_taxonomy( $tag->taxonomy ) ) 我的自定义分类如下所示: function

我试图在WordPress中将自定义分类添加到自定义帖子类型中。启用wp_debig时,wp admin页面会抛出一条通知:

注意:第503行/opt/lampp/htdocs/wordpress/wp includes/admin-bar.php中未定义的属性:stdClass::$taxonomy

第503行中只有以下内容:

 && ( $tax = get_taxonomy( $tag->taxonomy ) )
我的自定义分类如下所示:

    function create_project_types(){
        $labels = array(
            'name' => __('Project Type', 'abc'),
            'singular_name' => __('Project Type', 'abc'),
            'search_items' => __('Search Project Types', 'abc'),
            'all_items' => __('All Project Types', 'abc'),
            'edit_item' => __('Edit Project Type', 'abc'),
            'update_item' => __('Update Project Type', 'abc'),
            'add_new_item' => __('Add New Project Type', 'abc'),
            'new_item_name' => __('New Project Type', 'abc'),
            'separate_items_with_commas' => __('Separate Types with commas', 'abc'),
            'add_or_remove_items' => __('Add or Remove Project Type', 'abc'),
            'choose_from_most_used' => __('Choose from Most Used Project Types', 'abc')
        );
        $args = array(
            'label' => __('Project Type', 'abc'),
            'labels' => $labels,
            'public' => true,
            "hierarchical" => true,
            'show_ui' => true,
            'show_in_nav_menus' => true,
            'args' => array('orderby' => 'term_order'),
            'rewrite' => array('slug' => 'project-type','with_front' => true),
            'query_var' => true
        );
        register_taxonomy("project-type", 'project', $args);
    }
add_action('init', 'create_project_types', 0);

一切正常,我只是想把那个通知驳回。你能帮我吗?

通知不是错误。不过,根据上下文的不同,它们可能意味着什么,也可能是错的

如果你要离开家,而你->钥匙没有定义,你就有问题了,但是如果你->钱包没有定义,也许没什么大不了的。也许这是意料之中的事,因为这是你的新外套

您的代码是这样说的:

“如果钱包存在且钱包有钱,则购买冰淇淋”

请注意,如果代码绝对必须得到冰淇淋或死亡,那么它不应该让事情在没有它的情况下继续进行。它应该适当地死去

当然,写得很糟糕的代码会让程序从平面()跳转$降落伞。 在我看来,情况并非如此

如果一切正常,代码也没有对此大惊小怪,那么您也不应该这样做

因此,撤销通知。我同意你。如果出了什么差错,你可以说是我告诉你的

如果您没有获得上述内容,您应该阅读一些相关内容:

$tag是一个stdClass对象

你打开了调试模式,如你所说。检查

调试模式将错误报告设置为高,这样您将得到错误、警告和通知

但是:


无论如何,如果您对此感到非常恼火,请将
$tax=get\u taxonomy($tag->taxonomy)
替换为
$tax=property\u exists($tag,'taxonomy')?get_taxonomy($tag->taxonomy):false

我找到了自己的答案。我对global$tag变量进行了过度编译,这引起了注意。

属于此处的admin-bar.php文件的完整部分:
global$tag,$wp\u\u查询;如果(is_admin()){$current_screen=get_current_screen();$post=get_post();…}elseif('edit tags'===$current_screen->base&&isset($tag)&&is_object($tax=get_taxonomy($tag->taxonomonomy))&&$tax->public){$wp_管理条->添加菜单(数组('id'=>'view->'view->'title'=>'title'=>$tax labels->查看项目,'href'=>获取术语链接($tag));}
管理栏中是否缺少任何内容?如果没有,您可以继续。不检查任何内容。所有内容都在正确的位置。即使是“新建”菜单项下的自定义文章类型。它仅在我向分类法添加术语时出现。如果没有术语,则没有通知。。。