Shortcode called twice

时间:2019-10-15 作者:pull-link

我正在使用一个快捷代码处理我的产品信息,它可以自动生成一个包含信息的表。但这个短代码似乎被调用了两次。我不是一个优秀的后端开发人员,但我正在努力学习一些基础知识,以便能够制作一些基本的PHP函数。我非常感谢你的帮助。提前谢谢。

我的代码如下所示:

function displayTable()
{
    echo \'<table>\';
    echo \'<tbody>\';
    $fields = get_field_objects();
    foreach($fields as $field)
    {
      echo \'<td>\';
      echo \'<td>\'. $field[\'label\'] .\'</td>\';
      echo \'<td>\'. $field[\'value\'] .\'</td>\';
      echo \'</tr>\';
    }
    echo \'</tbody>\';
    echo \'</table>\';
}
add_shortcode(\'popnagel-tabel\', \'displayTable\')

1 个回复
最合适的回答,由SO网友:Pat J 整理而成

短代码应不使用echo; 他们应该一直return 要显示的文本。请参见User Contributed Notesadd_shortcode() 文档。

您的代码应该更像这样:

function displayTable() {
    $string = \'\';
    $string .=  \'<table>\';
    $string .=  \'<tbody>\';
    $fields = get_field_objects();
    foreach($fields as $field)
    {
      $string .=  \'<td>\';
      $string .=  \'<td>\'. $field[\'label\'] .\'</td>\';
      $string .=  \'<td>\'. $field[\'value\'] .\'</td>\';
      $string .=  \'</tr>\';
    }
    $string .=  \'</tbody>\';
    $string .=  \'</table>\';
    return $string;
}
add_shortcode(\'popnagel-tabel\', \'displayTable\');

相关推荐

Shortcode based chart plugin

有谁知道一个WP插件可以根据短代码参数生成图表吗?i、 e.像这样的[chart type=\"bar\" values=\"1,2,4,7,3\"], [chart type=\"pie\" values=\"43,32,38\"] 所以不需要上传。txt/。csv文件,使用谷歌工作表等。谢谢PS:由于我们网站的工作方式(数据库生成一些内容),我们需要基于短代码。