2016-08-05 79 views
0

我使用分頁下面的代碼,它工作正常,但拋出一個PHP的警告:非法抵消未設置類型(unset($allcategories[$parentc]);)WordPress的PHP的警告:非法偏移類型在未設置

不要有很多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> 
+0

檢查你在'$ parentc'中得到了什麼? – devpro

+0

WP_Term對象 ( [term_id] => 4 [名稱] => DFW地鐵 [蛞蝓] =>達拉斯堡壘價值 [term_group] => 0 [term_taxonomy_id] => 4 [分類] = > 類別[描述] => [父] => 0 [數] => 4883 [過濾] =>生 [term_icon] => [CAT_ID] => 4 [category_count] => 4883 [category_description] => [cat_name] => DFW地鐵 [category_nicename] =>達拉斯堡值 [category_parent] => 0 ) –

+0

這只是一個對象記錄 –

回答

2

當你調用

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

get_category()函數返回一個對象。對象不允許作爲數組的鍵。你可能正在做...

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

我也推薦調試像'print_r($ parentc);' – devpro

+0

我看,謝謝你的詳細解釋。 –

相關問題