内容段落中未包含自定义快捷代码

时间:2016-03-23 作者:Adrian

我通过函数创建了一个自定义短代码。php在所见即所得字段中使用快捷码时,在内容中显示电话号码。

function contact() {
  $contact = get_field(\'contact\',options);
  echo $contact;
}
add_shortcode(\'contact\', \'contact\');
然而,在内容编辑器中,当我们写“在[联系]上联系我们”时,它会首先在前端显示电话号码,然后在

在下一行。

我也尝试过:

function contact() {
  $contact = get_field(\'contact\',options);
  printf (\'%s\',$contact);
}
add_shortcode(\'contact\', \'contact\');
我如何才能让这个字符串包含在段落中,而不在任何内容上方的行中?

谢谢Adrian

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

“contact”函数应返回字符串,而不是回显。

因此,上述内容应如下所示:

function contact() {
  $contact = get_field(\'contact\',options);
  return $contact;
}
add_shortcode(\'contact\', \'contact\');
短代码是通过提供处理函数来编写的。短代码处理程序与WordPress过滤器大致相似:它们接受参数(属性)并返回结果(短代码输出)。

请参见codex for Shortcodes

相关推荐

Execute shortcodes in PHP

我在帖子编辑器中添加了一个地理位置快捷码,可以根据用户的位置显示不同的信息,将其放在帖子页面的内容中,效果非常好。如何在主题的PHP文件中执行此短代码[地理位置][地理位置]?我正在使用免费修改Wordpress主题,我想添加一个新的<span>[geolocation][/geolocation]Information text content</span> 但在主题的内部。php文件,我如何才能做到这一点?如果我直接加上<span>[geolocation][/ge