我想向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。为什么显示上述错误?如何更正?
SO网友:fuxia
do_action( \'after_setup_theme\' );
不传递任何参数。在主题设置之后,您正在剪切长度为0的内容。为什么?
另外,您的注册add_action
不会告诉WordPress您需要两个参数。默认值为one 参数
你根本不需要这个电话。如果在functions.php
它将在循环中可用。
了解Plugin API, 这并不难。:)
始终为函数添加前缀。否则,当其他人编写了同名函数时,您的用户可能会出现致命错误。
如果你的函数和我想的一样,你可以看看我的函数utf8_truncate()
. 不需要正则表达式。