如何在<?php?>标记中调用WP中的函数

时间:2017-03-18 作者:The Chewy

我刚刚开始使用WP和php,并构建我的第一个初学者主题。当wp函数包装在标签中时,wp从何处调用这些函数?这背后的原则是什么?

网络上关于所有功能的信息层出不穷,但作为一名新手,我正试图了解所有功能的基本原理。

任何帮助/指点都将是惊人的。

艾米丽,

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

调用函数时,有两个单独的部分:

Afunction declaration. 这是必需的,对于每个函数名只能发生一次

  • Afunction call. 您不需要使用声明的函数,如果需要,可以多次调用同一函数
  • 这两个部分都必须在PHP上下文中发生,即在以<?php 然后以?> 或者就在文档的末尾。换句话说:如果在打开PHP标记后没有HTML<?php 你不需要关闭它。文件结尾与?>

    例如:让我们declare 主题中的函数functions.php.

    <?php
    // function collection for the theme "WPSE Demo"
    
    function html_wrap( $text, $tag )
    {
        return "<$tag>$text</$tag>";
    }
    
    Afunctions.php 从不创建直接输出,所以我们不需要结束?> 在该文件中。

    在模板文件中,我们现在可以call 多次执行该功能:

    <?php
    echo html_wrap( \'Hello World!\', \'h1\' );
    echo html_wrap( \'Here I am.\', \'p\' );
    ?>
    
    我们需要这些调用周围的PHP标记。请注意,一些主题作者在模板中的每个函数调用周围都使用PHP标记。他们会这样写上面的例子:

    <?php echo html_wrap( \'Hello World!\', \'h1\' ); ?>
    <?php echo html_wrap( \'Here I am.\', \'p\' ); ?>
    
    不要那样做。它更难阅读和改变。它看起来很凌乱,从技术上讲,它只是多余的。代码风格很差。

    相关推荐

    无法在模板函数.php中使用IS_HOME

    我试图在标题中加载一个滑块,但只在主页上加载。如果有帮助的话,我正在使用Ultralight模板。我正在尝试(在template functions.php中)执行以下操作:<?php if ( is_page( \'home\' ) ) : ?> dynamic_sidebar( \'Homepage Widget\' ); <?php endif; ?> 但这行不通。现在,通过快速的google,我似乎需要将请