You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何仅在指定WordPress页面模板显示Meta Box?

解决Meta Box仅在指定页面模板显示的问题

步骤1:确认页面模板的有效性

首先要保证你的content-mainPage.php文件能被WordPress识别为自定义页面模板,需在文件顶部添加标准注释:

<?php
/*
Template Name: 主页面模板
*/
// 模板其余代码...
?>

添加后,在编辑页面时就能在「页面属性」面板里看到这个模板选项。

步骤2:修正Meta Box的显示条件

原代码的include参数写法可能存在匹配问题,改用回调函数的方式更可靠,直接通过WordPress核心函数判断当前页面使用的模板:

修改后的完整代码:

add_filter('rwmb_meta_boxes', 'main_page_register_meta_boxes' );

function main_page_register_meta_boxes( $meta_boxes ) {
    $prefix = '';
    remove_post_type_support('page', 'editor');

    $meta_boxes[] = [
        'title'       => esc_html__( 'Header', 'Header' ),
        'id'          => 'Header_section_1',
        'post_types'  => ['page'],
        'context'     => 'normal',
        // 用回调函数精准判断模板
        'include'     => function( $post ) {
            // 对比当前页面的模板文件名
            return get_page_template_slug( $post->ID ) === 'content-mainPage.php';
        },
        'fields'      => [
            [
                'type'  => 'text',
                'name'  => esc_html__( 'title', 'title' ),
                'id'    => $prefix . 'title',
            ],
            [
                'type'  => 'wysiwyg',
                'name'  => esc_html__( 'Description', 'Description' ),
                'id'    => $prefix . 'Description',
            ],
        ],
    ];

    return $meta_boxes;
}

额外检查项

  • 确认模板文件名完全匹配:注意Linux服务器区分文件名大小写,确保代码里的文件名和实际文件一致
  • 测试前,先给目标页面选中该自定义模板,再进入编辑页面查看Meta Box是否正常显示

内容的提问来源于stack exchange,提问作者BobDev

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.28 07:27:15