wordpress-创建自定义模板php文件,并和所创页面关联。

♦  需求背景

基于wordpress主题开发电视剧《繁花》网站练习,创建【关于繁花】页面时,想直接在后台自定义目录下创建php文件,作为Page页面显示模板,并与wordpress后台创建页面关联、和菜单对象关联。

◆ 创建php文件模板

在自定义主题目录中,创建about-fanhua.php文件,在文件头部添加注释,WordPress会将其视为自定义页面模板。

<?php
/*
Template Name: 关于繁花
*/
get_header();
?>

◆ 创建页面并绑定about-fanhua.php文件

◆ 菜单对象添加链接

♦  相关wp函数

◆ is_page_template(‘about-fanhua.php’)

is_page_template() 仅用于检测 页面(Page) 是否使用了通过后台选择的 自定义模板。

如果about-fanhua.php 没有在文件头部声明为自定义模板(例如没有 Template Name 注释),或者它不是通过页面属性手动选择的模板,is_page_template() 会返回 false

// 检查是否使用了特定自定义模板(需声明 Template Name)
if ( is_page_template('about-fanhua.php') ) {
  echo '这是通过后台选择的首页模板';
}

◆ global $template

记录加载的模板文件的具体路径

function custom_action_based_on_template() {
    global $template;
    if ( strpos( $template, 'single.php' ) !== false ) {
        // 当使用 single.php 模板时执行特定操作
        // 例如添加自定义的元数据显示
        add_action( 'the_content', 'add_custom_meta_to_single_post' );
    }
}
add_action( 'template_redirect', 'custom_action_based_on_template' );


global $template;
echo '当前使用的模板文件是:'. $template;

// 调试输出:
// 当前使用的模板文件是:/usr/share/nginx/html/wp-content/themes/example3/home.php