我一直在使用下面的代码计算目录中的项目,然后使用插件将其添加到WordPress页面。
$dir = \'/PATH TO DIRECTORY/\';
$filecount = 0;
$d = dir($dir);
while ($f = $d->read()) {
if(($f!= ".") && ($f!= "..")) {
if(!is_dir($f)) $filecount++;
}
}
echo \'(\',$filecount,\')\';
不知道我是否可以从中生成一个短代码,我已经用
function item_count() {
并附上:
}
add_shortcode(\'count\', \'item_count\');
但回显触发了“headers ready sent”(标头已发送)错误。
后来我了解到,短代码应该“返回”而不是“回音”,但我还没有弄清楚我需要做什么才能将其用作短代码。
最合适的回答,由SO网友:Pat J 整理而成
应该这么简单:
function item_count() {
$dir = \'/PATH TO DIRECTORY/\';
$filecount = 0;
$d = dir( $dir );
while ( $f = $d->read() ) {
if ( ( $f!= "." ) && ( $f!= ".." ) ) {
if( ! is_dir( $f ) ) {
$filecount++;
}
}
}
return \'(\' . $filecount . \')\';
}
add_shortcode( \'count\', \'item_count\' );
如果仍然出现Headers ready Sent错误,请检查以确保PHP文件末尾没有空格。(您可以安全地忽略关闭
?>
标记,这将帮助您确保没有任何无关的空格。)
看见this answer 有关省略结束PHP标记的详细信息。