2009-09-03 14 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; " –

+0

ありがとうrogeriopvl、あなたは絶対に正しいです。すべてがうまくいった。 – Becca

1

あなたはvar_dump($cats)しようとしましたか?

場合によってはcount()がfalseを返すことがありますが、この場合、文字列全体が返されているとは限りません。

関連する問題