我怎么才能用这个代码编一个短码呢?

时间:2016-10-05 作者:glvr

我一直在使用下面的代码计算目录中的项目,然后使用插件将其添加到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”(标头已发送)错误。

后来我了解到,短代码应该“返回”而不是“回音”,但我还没有弄清楚我需要做什么才能将其用作短代码。

1 个回复
最合适的回答,由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标记的详细信息。

相关推荐

SHORTCODE_ATTS()中的$ATTS参数是什么?

这个WordPress developers reference page for shortcode_atts() 国家:$atts(array)(必选)用户在shortcode标记中定义的属性。但我不理解这个定义。例如,在WP Frontend Profile 插件:$atts = shortcode_atts( [ \'role\' => \'\', ], $atts ); 据我所知,shortcode\