未定义的属性:WP_Error :: $ parent

时间:2019-06-16 16:29:34

标签: php wordpress

请原谅我对Wordpress的基本了解。我正在快速尝试整合一些代码以完成一个项目。

我在网上搜索了一个函数,该函数将检查当前类别是否具有父类别。

我将函数放置在functions.php文件中:

function is_subcategory () {
    $cat = get_query_var('cat');
    $category = get_category($cat);
    $category->parent;
    return ( $category->parent == '0' ) ? false : true;
}

我想显示父类别(如果有)。因此,我在index.php文件中调用此函数:

<?php 
    if (is_subcategory($cat)) {
       $categories = get_the_category();
       $category= '';
       foreach($categories as $childcat) {
          $parentcat = $childcat->category_parent;
          if ($parentcat>0) {
       $category = get_cat_name($parentcat);
        continue;
          }
       }
    $category = (strlen($category)>0)? $category :  $categories[0]->cat_name;
    echo $category . ' / ';
    }
?>

得到这些错误:

注意:未定义的属性:/srv/www/directory.madebygraphiti.com/current/web/app/themes/franklin/functions.php在147行上的WP_Error :: $ parent

注意:未定义的属性:/srv/www/directory.madebygraphiti.com/current/web/app/themes/franklin/functions.php在第148行的WP_Error :: $ parent

父级不是类别对象的实际属性吗?

1 个答案:

答案 0 :(得分:0)

尝试更改此行:

return ( $category->parent == '0' ) ? false : true;

对此:

return ( !isset($category->parent) || $category->parent == '0' ) ? false : true;