2009-09-03 144 views
3

我試圖定義WordPress的一個新的短代碼,和我當功能被加載以下錯誤(只裝,我還沒有試過打電話給它的任何地方尚未):count()導致「意外的T_STRING」錯誤?

Parse error: syntax error, unexpected T_STRING in /pathtomytheme/user_functions.php on line 105 

這裏的碼;線105爲 「$ cat_n =計數($貓) - 1;」:

function usertag_2colcats($atts) { 
extract(shortcode_atts(array('parent' => 0,'depth' => 2,), $atts)); 
$cats = explode('<br />', wp_list_categories('title_li=&echo=0&depth=' . $depth . '&style=none&show_count=1&use_desc_for_title=0&child_of=' . $parent)); 
$cat_n = count($cats) – 1; 
for ($i = 0; $i < $cat_n; $i++) { 
    if ($i < $cat_n/2) $cat_left = $cat_left . '<li>' . $cats[$i] . '</li>'; 
    elseif ($i >= $cat_n/2) $cat_right = $cat_right.'<li>'.$cats[$i].'</li>'; 
} 
echo '<ul class="leftcats">' . $cat_left . '</ul><ul class="rightcats">' . $cat_right . '</ul>'; 

}

如果我改變該行,使得它不使用計數功能,例如到「$ cat_n = 5;」,該函數加載沒有錯誤。似乎我錯過了一些非常明顯的東西;它是什麼?

原始代碼是在這裏:http://pcsplace.com/blog-tips/how-to-split-categories-list-into-columns-in-wordpress/

回答

4

這聽起來不可思議,但「 - 」號在線路105是一個奇怪的字符。嘗試重寫那一行,而不是複製並粘貼它。我做到了,錯誤消失了。

編輯:好吧,這就是我發現的。第105行中的字符具有ASCII代碼226.但是,減號的ASCII代碼是45.因此,您的問題肯定存在。

不惜一切代價避免複製粘貼;)

+0

+1好點。 PHP將ASCII 226視爲一個'單詞'字符,因此它不再有效'$ cat_n = count($ cats)hello 1;' – 2009-09-03 23:49:37

+0

謝謝rogeriopvl,你是對的。現在一切順利。 – Becca 2009-09-04 02:51:42

1

你有沒有試過var_dump($cats)

有時候COUNT()可以根據某些情況下返回false,但在這種情況下,我敢肯定它只有返回整個字符串,因爲它並沒有發現它。

相關問題