Php &引用;使用短代码小部件";,注意:尝试获取非对象的属性
我在这行上看到通知:$team_options[$category->name]=$category->slugPhp &引用;使用短代码小部件";,注意:尝试获取非对象的属性,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_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现在可以了,谢谢。现在可以了,谢谢:)我的自定义帖子类型中有团队类型,而不是团队类型。