Wordpress PHP警告:未设置

时间:2016-08-05 16:26:16

标签: php offset unset

我正在使用以下代码进行分页,它正常工作但抛出PHP警告:(unset($allcategories[$parentc]);)中未设置的非法偏移类型

没有很多PHP经验,但是你们可以指导我的问题吗?提前谢谢。

<nav class="navigation post-navigation" role="navigation">
<h1 class="screen-reader-text"><?php _e( 'Post navigation', 'ci' ); ?></h1>

<?php 
$allcategories = get_terms(
  array( 'category' ), // Taxonomies
  array( 'fields' => 'ids' ) // Fields

);

$post_categories = wp_get_post_categories( $post->ID );

foreach ($post_categories as $pc) {
if(($key = array_search($pc,$allcategories)) !== false) {
    unset($allcategories[$key]);
}
$this_category = get_category($pc);
if ($this_category->category_parent != '') {
    $parentc = get_category($this_category->category_parent);
    unset($allcategories[$parentc]);
}

}

?>
<div class="nav-links">
    <div class="nav-next"><?php next_post_link('%link', '%title', FALSE, $allcategories ); ?></div>
    <div class="nav-previous"><?php previous_post_link('%link', '%title', FALSE, $allcategories ); ?></div>

</div>
</nav>

1 个答案:

答案 0 :(得分:2)

致电时

$parentc = get_category($this_category->category_parent);

get_category()函数返回一个对象。不允许对象作为数组的键。你可能想做...

unset($allcategories[$parentc->term_id]);