当我使用自定义快捷码时,名为wpb_wrapper的div中会出现一个数字

时间:2018-11-21 作者:Trauko

当我使用自定义短代码时,页面会自动在名为wpb\\U包装器的div中显示一个数字。但这在我的职能中毫无作用。当我删除短代码时,数字就会消失。

<div class="wpb_text_column wpb_content_element " >
    <div class="wpb_wrapper">
        1

    </div>
</div>
有什么线索吗?

是一个显示帖子网格的自定义快捷码,它包含PHP代码、HTML标记和CSS。

function millennium_grid(){
   return include("mg-custom-grid.php");

add_shortcode(\'millennium\', \'millennium_grid\');

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

你不能returninclude 就像那样。成功的include() 自身返回1, 由于您正在返回include, 您的快捷码显示“1”。

处理返回:包括在失败时返回FALSE并发出警告。成功包含,除非被包含的文件覆盖,否则返回1。

&mdash;http://php.net/manual/en/function.include.php

如果要从shortcode输出模板或类似文件,需要使用output buffering:

function millennium_grid() {
    ob_start();

    include \'mg-custom-grid.php\';

    return ob_get_clean();
}
add_shortcode( \'millennium\', \'millennium_grid\' );

结束

相关推荐

Namespaced shortcode?

我正在改造一个旧的WP站点,该站点有许多自定义的短代码,显然由于代码当前的组织方式,这些短代码在性能方面付出了代价。当然,我可以修复优化不好的代码,使用十几个短代码,并且一天就可以完成,但我想知道如何更好地组织它们。根据WordPress\'documentation, 建议将它们放在插件中并在上初始化init. 我们可以通过这样“命名”它们来减少这个钩子中的负载吗?[com.company shortcode attr=\"attr\" prop=\"prop\"] 有人尝试过这样的解决方案吗