WordPress 主题页面的结构,比较常见就像下面的示例:
<?php get_header(); ?>
<h2>Error 404 - Not Found</h2>
<?php get_sidebar(); ?>
<?php get_footer(); ?>
这些 get_header、get_sidebar、get_footer,看上去就是把 header.php,footer.php,sidebar.php 包含进了文件,和 include、require的功能差不多。既然封装成新的函数,估计还是有点不一样的。
看下函数 get_footer 的源代码:
function get_footer( $name = null, $args = array() ) {
/**
* Fires before the footer template file is loaded.
*
* @since 2.1.0
* @since 2.8.0 The `$name` parameter was added.
* @since 5.5.0 The `$args` parameter was added.
*
* @param string|null $name Name of the specific footer file to use. Null for the default footer.
* @param array $args Additional arguments passed to the footer template.
*/
do_action( 'get_footer', $name, $args );
$templates = array();
$name = (string) $name;
if ( '' !== $name ) {
$templates[] = "footer-{$name}.php";
}
$templates[] = 'footer.php';
if ( ! locate_template( $templates, true, true, $args ) ) {
return false;
}
}
代码做了三件事:调用 get_footer 钩子,就是埋了个点;根据$name判断,调用不同的php文件;调用 locate_template 函数。
再看WordPress文档中关于 locate_template 的介绍:
在TEMPLATEPATH和wpincludes/theme-compat之前的STYLESHEETPATH中进行搜索,以便从父主题继承的主题只能重载一个文件。
原来子主题的实现,需要依赖 locate_template 函数。
如果直接使用 include、 require 而不是 使用 get_header,get_footer 等函数,就会破坏子主题机制。
-
WordPress函数:_n_loop 在 pot 文件中注册字符串WordPress函数:_n_loop 在 pot 文件中注册字符串
-
WordPress函数:esc_html__ 转义HTML字符WordPress函数:esc_html__ 转义HTML字符
-
WordPress函数:esc_html_x 带上下文的转义翻译WordPress函数:esc_html_x 带上下文的转义翻译
-
WordPress函数:esc_attr__ 转义属性及翻译WordPress函数:esc_attr__ 转义属性及翻译
-
WP Multilang WordPress翻译插件WP Multilang插件的主要功能是提供多语言支持,使用户能够创建多语言版本的网站,满足不同语言用户的需求。
-
WordPress公司官网主题在众多的WordPress企业官网主题中,追格公司推出了多款关于WordPress企业官网主题作品。我们之前已经分享过一些关于追格的企业官网主题,包括收费和免费版本,这些主题都因其独特的设计和出色的功能而深受用户喜爱。
暂无评论,抢个沙发...