count()导致“意外的T_STRING”错误?

时间:2009-09-03 23:24:02

标签: php wordpress

我正在尝试在WordPress中定义一个新的短代码,并且在加载该函数时出现以下错误(刚刚加载,我还没有尝试在任何地方调用它):

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

这是代码;第105行是“$ cat_n = count($ cats) - 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/

2 个答案:

答案 0 :(得分:4)

这可能听起来很奇怪,但第105行中的“ - ”符号是一个奇怪的角色。尝试重写该行,而不是复制和粘贴它。我做到了,错误就消失了。

编辑:好的,这就是我找到的。你在105行的字符有ASCII码226.但减号的ASCII码是45.所以你的问题肯定存在。

不惜一切代价避免复制粘贴;)

答案 1 :(得分:1)

您是否尝试过var_dump( $cats )

有时count()可以根据某些情况返回false,但在这种情况下我很确定它只返回整个字符串,因为它没有找到它。