Fix warning: Missing argument

时间:2011-05-29 作者:enjoylife

我想向wordpress提交一个主题。组织。当我把define(\'WP_DEBUG\', true); 在我的wp-config.php. 我的主题出现了一些错误。但我不知道如何纠正主题。

第一季度:Warning: Missing argument 2 for cutstr() in ....htdocs\\wordpress\\wp-content\\themes\\warm-home\\functions.php on line 156. 以下是我的功能。

function cutstr($string, $length) {
         $string =strip_tags($string);
        preg_match_all("/[x01-x7f]|[xc2-xdf][x80-xbf]|xe0[xa0-xbf][x80-xbf]|
[xe1-xef][x80-xbf][x80-xbf]|xf0[x90-xbf][x80-xbf][x80-xbf]|[xf1-xf7][x80-xbf][x80-xbf][x80-xbf]/", $string, $info);  
         for($i=0; $i<count($info[0]); $i++) {
                $wordscut= \'\';
                $wordscut .= $info[0][$i];
                $j=\'\';
                $j = ord($info[0][$i]) > 127 ? $j + 2 : $j + 1;
                 if ($j > $length - 3) {
                         return $wordscut." ...";
                 }
         }
         return join(\'\', $info[0]);
}
add_action(\'after_setup_theme\',\'cutstr\');
调用的功能行是:<p><?php echo cutstr($post->post_content,150) ?></p>.没有遗漏参数2。为什么显示上述错误?如何更正?

1 个回复
SO网友:fuxia

do_action( \'after_setup_theme\' ); 不传递任何参数。在主题设置之后,您正在剪切长度为0的内容。为什么?

另外,您的注册add_action 不会告诉WordPress您需要两个参数。默认值为one 参数

你根本不需要这个电话。如果在functions.php 它将在循环中可用。

了解Plugin API, 这并不难。:)

始终为函数添加前缀。否则,当其他人编写了同名函数时,您的用户可能会出现致命错误。

如果你的函数和我想的一样,你可以看看我的函数utf8_truncate(). 不需要正则表达式。

结束

相关推荐

如何用XDEBUG调试插件?

我能够在本地环境中基于PHP 5.3.0(XAMPP)非常轻松地安装和设置NetBeans 6.9.1和Xdebug。我现在的问题是:如果我在Wordpress的索引上设置断点。php或其他Wordpress核心php文件,NetBeans会正确地停止在所需的位置。相反,如果我在插件文件上设置断点,那么NetBeans的代码执行触发器不会在此停止。你知道怎么解决吗?UPDATE: 有关我正在尝试调试的内容的详细信息插件被调用Vanilla Forums 并具有以下文件结构:- plugins