Wordpress功能没有包含

时间:2014-02-26 12:58:13

标签: php function

我正在查看我的wordpress文件和代码。有一个名为functions.php的文件。 但是如何在每个文件中调用函数而不包括functions.php

我在学校里了解到,当你想要使用其他页面中的内容时,你必须包含文件。

我在互联网上找不到有用的东西。有人可以向我解释一下吗?

2 个答案:

答案 0 :(得分:0)

每次wordpress网站提供页面时,都会加载活动主题的functions.php文件。

因此,您添加的任何功能都将被加载并可在模板文件中使用。

假设您的functions.php文件如下所示:

<?php
function my_example() {
    echo "<h1>My example</h1>";
}

然后,在header.php中,您可以像这样调用该函数:

<html>
<head></head>
<body>
    <?php my_example(); ?>
</body>
</html>

您无需专门include(也不include_oncefunctions.php文件,以便使用刚才声明的功能。

答案 1 :(得分:0)

查看@rdlowreyHow Wordpress Generates HTML for Blog Posts

的回答
  

Wordpress所做的 - 实际上许多流行的MVC框架 - 使用apache .htaccess文件将所有流量路由到前端控制器[wiki]脚本。

因此,当您访问WP安装所服务的任何页面时,您可以使用某些功能,因为它们都通过相同的“起始点”。

要开始跟踪该路径,请在根目录中打开index.php,然后看到:

/** Loads the WordPress Environment and Template */
require( dirname( __FILE__ ) . '/wp-blog-header.php' );

从那里,看看wp-blog-header.php。它正在加载wp-load.php。如果没有wp-config.php,则会提示您安装。如果您的目录中有,请注意它需要wp-settings.php

在设置文件中,您将明确看到主题的functions.php文件在第318行(至少在WP 3.8.1中)添加到混合中的位置

// Load the functions for the active theme, for both parent and child theme if applicable.
if ( ! defined( 'WP_INSTALLING' ) || 'wp-activate.php' === $pagenow ) {
    if ( TEMPLATEPATH !== STYLESHEETPATH && file_exists( STYLESHEETPATH . '/functions.php' ) )
        include( STYLESHEETPATH . '/functions.php' );
    if ( file_exists( TEMPLATEPATH . '/functions.php' ) )
        include( TEMPLATEPATH . '/functions.php' );
}