Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/wordpress/13.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 &引用;使用短代码小部件";,注意:尝试获取非对象的属性_Php_Wordpress - Fatal编程技术网

Php &引用;使用短代码小部件";,注意:尝试获取非对象的属性

Php &引用;使用短代码小部件";,注意:尝试获取非对象的属性,php,wordpress,Php,Wordpress,我在这行上看到通知:$team_options[$category->name]=$category->slug $team_categories = get_terms('team_types'); $team_options = array("All" => ""); foreach ($team_categories as $category) { $team_options[$category->name] = $category->slug; } 您需要确保

我在这行上看到通知:$team_options[$category->name]=$category->slug

$team_categories = get_terms('team_types');
$team_options = array("All" => "");
foreach ($team_categories as $category) {
    $team_options[$category->name] = $category->slug;
}

您需要确保有“团队类型”分类法的术语

以下是带有少量类型检查的代码:

$team_categories = get_terms('team_type');
if (!is_wp_error($team_categories)) {
    $team_options = array("All" => "");
    foreach ($team_categories as $category) {
        if (is_object($category) && isset($category->name) && isset($category->slug)) {
            $team_options[$category->name] = $category->slug;
        }
    }    
}
第一个“if”(
is_wp_error()
)检查get_terms函数是否返回错误(当“团队类型”分类法没有术语时)


第二个“if”(
是_object()
)检查$category是否是对象,以及它是否具有“name”和“slug”属性。这应该足以消除通知。

因此显然,
$category
不是一个对象。要么是因为它从来就不应该是这样,要么是当您实例化它时,出现了一个错误,但它没有成功instantiate@RiggsFolly如何删除此通知?确定
$team\u categories
实际上是什么。它包含对象数组还是数组数组。首先,它是否正确实例化,等等,你可以从打印($team\u categories)开始就在那之前
foreach
loop@RiggsFolly现在可以了,谢谢。现在可以了,谢谢:)我的自定义帖子类型中有团队类型,而不是团队类型。