我正在我的选项中生成以下通知。php在wp\\U调试模式下测试我的主题时。
我可以看到问题所在,但不知道如何解决此问题?
似乎正在从options中的taxonomy数组调用非对象。php作为数组找不到term\\u id,因为尚未在自定义帖子类型中创建帖子和/或类别。当我创建帖子并为其指定类别时,通知将消失。
// Pull all the custom taxonomies into an array
$options_password_taxonomies = array();
$taxonomies_password_terms_obj = get_terms(\'password_gallery_category\');
foreach ( $taxonomies_password_terms_obj as $taxonomy) {
$options_password_taxonomies[$taxonomy->term_id] = $taxonomy->name;
}
// Select a Category for your Client Area
$options[] = array(
\'name\' => __(\'Password Protected Galleries\', \'shutter\'),
\'desc\' => __(\'Choose a category for password protected client galleries.\', \'shutter\'),
\'id\' => \'client_area\',
\'type\' => \'select\',
\'options\' => $options_password_taxonomies);
最合适的回答,由SO网友:RRikesh 整理而成
您可以使用isset() 或property_exists() 检查属性是否存在。
foreach ( $taxonomies_password_terms_obj as $taxonomy) {
if( isset( $taxonomy->term_id ) ){
$options_password_taxonomies[$taxonomy->term_id] = $taxonomy->name;
}
}