WordPress Customizer 自定义器

在 WordPress 中使用 Customizer(自定义器) 是一种直观、实时预览的方式来修改网站的外观和部分功能,而无需直接编辑代码。以下是详细的使用方法:


一、进入 Customizer

方法 1:通过后台仪表盘

  1. 登录 WordPress 后台(通常是 your-site.com/wp-admin)。
  2. 在左侧菜单中点击 “外观” > “自定义”(Appearance → Customize)。

方法 2:前端快捷入口(如果主题支持)

  • 在网站前台登录状态下,顶部工具栏会出现一个黑色管理栏。
  • 点击 “自定义” 按钮,直接进入 Customizer 并实时预览当前页面。

二、Customizer 主要功能模块(取决于主题和插件)

不同主题或插件会添加不同的选项,但常见模块包括:

模块 功能说明
站点身份(Site Identity) 设置网站标题、副标题、Logo、站点图标(favicon)等。
颜色(Colors) 修改主题主色、背景色、文字颜色等(需主题支持)。
菜单(Menus) 创建、编辑导航菜单,并分配到主题注册的菜单位置(如顶部菜单、页脚菜单)。
小工具(Widgets) 管理侧边栏、页脚等区域的小工具(注意:块主题中此功能可能被“模板部件”替代)。
首页设置(Homepage Settings) 选择首页显示“最新文章”还是“静态页面”,并指定首页和文章页。
其他(Additional CSS) 添加自定义 CSS 样式,实时预览效果。
主题选项(Theme Options) 某些主题(如 Astra、OceanWP)会在此添加布局、字体、按钮样式等高级设置。

 提示:你看到的选项取决于你当前使用的 主题激活的插件


三、操作流程示例:修改网站 Logo

  1. 进入 Customizer
  2. 点击 “站点身份”
  3. 点击 “选择 Logo”,从媒体库上传或选择已有图片。
  4. 可调整 Logo 尺寸(如果主题支持)。
  5. 左侧实时预览变化。
  6. 确认无误后,点击右上角 “发布”(Publish)保存更改。

四、保存与发布

  • 所有修改在 Customizer 中都是 临时预览,不会立即生效。
  • 只有点击右上角 “发布” 按钮后,更改才会应用到网站。
  • 如果不想保存,可直接关闭页面或点击 “退出自定义”

五、开发者扩展 Customizer(可选)

如果你是开发者,可以通过 customize_register 钩子向 Customizer 添加自定义面板、章节、控件:

function mytheme_customize_register( $wp_customize ) {
    $wp_customize->add_setting( 'mytheme_phone', array(
        'default' => '',
        'sanitize_callback' => 'sanitize_text_field'
    ) );

    $wp_customize->add_control( 'mytheme_phone', array(
        'label' => '联系电话',
        'section' => 'title_tagline', // 放在“站点身份”下
        'type' => 'text'
    ) );
}
add_action( 'customize_register', 'mytheme_customize_register' );

然后在主题模板中调用:

echo get_theme_mod( 'mytheme_phone' );

 

六,添加一个全新的选项卡(Panel / Section)

在 WordPress 的 Customizer(自定义器) 中添加一个全新的选项卡(Panel / Section),需要通过 PHP 代码在主题的 functions.php 文件中注册。下面是一个完整、清晰的示例,教你如何创建一个自定义选项卡(比如“联系信息”),并添加设置项(如电话、邮箱等)。


 目标

  • 在 Customizer 中新增一个名为 “联系信息” 的选项卡(Section)
  • 添加两个输入框:联系电话电子邮箱
  • 前端可调用这些值显示

步骤 1:将以下代码添加到主题的 functions.php 文件中

 建议使用子主题(Child Theme)修改,避免主题更新丢失代码。

/**
 * 在 Customizer 中添加“联系信息”选项卡
 */
function mytheme_customize_register( $wp_customize ) {

    // === 1. 添加一个新的 Section(选项卡)===
    $wp_customize->add_section( 'mytheme_contact_section', array(
        'title'       => __( '联系信息', 'mytheme' ),
        'priority'    => 30, // 显示顺序,数字越小越靠前
        'capability'  => 'edit_theme_options',
        'description' => __( '在此设置网站的联系信息。', 'mytheme' ),
    ) );

    // === 2. 添加“联系电话”设置项 ===
    $wp_customize->add_setting( 'mytheme_phone_number', array(
        'default'           => '',
        'sanitize_callback' => 'sanitize_text_field',
        'transport'         => 'refresh', // 或 'postMessage'(需配合 JS 实现实时预览)
    ) );

    $wp_customize->add_control( 'mytheme_phone_control', array(
        'label'    => __( '联系电话', 'mytheme' ),
        'section'  => 'mytheme_contact_section',
        'settings' => 'mytheme_phone_number',
        'type'     => 'text',
    ) );

    // === 3. 添加“电子邮箱”设置项 ===
    $wp_customize->add_setting( 'mytheme_email_address', array(
        'default'           => '',
        'sanitize_callback' => 'sanitize_email',
        'transport'         => 'refresh',
    ) );

    $wp_customize->add_control( 'mytheme_email_control', array(
        'label'    => __( '电子邮箱', 'mytheme' ),
        'section'  => 'mytheme_contact_section',
        'settings' => 'mytheme_email_address',
        'type'     => 'email',
    ) );
}
add_action( 'customize_register', 'mytheme_customize_register' );

步骤 2:在前端模板中显示这些值

例如,在页脚 footer.php 中显示:

<?php
$phone = get_theme_mod( 'mytheme_phone_number' );
$email = get_theme_mod( 'mytheme_email_address' );

if ( $phone || $email ) :
?>
<div class="site-contact-info">
    <?php if ( $phone ) : ?>
        <p>电话: <?php echo esc_html( $phone ); ?></p>
    <?php endif; ?>
    <?php if ( $email ) : ?>
        <p>邮箱: <a href="mailto:<?php echo esc_attr( $email ); ?>"><?php echo esc_html( $email ); ?></a></p>
    <?php endif; ?>
</div>
<?php endif; ?>

 补充说明

 关于 Panel(面板) vs Section(节)

  • Section 是 Customizer 左侧的一个独立选项卡(如“站点身份”、“菜单”)。
  • 如果你希望把多个 Section 归类到一个 顶级分组(Panel) 下(比如“主题选项”下包含“联系信息”、“社交媒体”等),可以先创建 Panel:
$wp_customize->add_panel( 'mytheme_options_panel', array(
    'title'       => __( '我的主题选项', 'mytheme' ),
    'priority'    => 150,
) );

// 然后在 add_section 时指定 'panel' => 'mytheme_options_panel'

 实时预览(Live Preview)

若想实现不刷新页面的实时预览(如改颜色立即生效),需将 transport 设为 'postMessage',并配合 JavaScript。但文本类内容通常用 'refresh' 即可。


 效果

保存后进入 外观 > 自定义,你会看到左侧多出一个 “联系信息” 选项卡,可输入电话和邮箱,并在网站前端安全地显示。


如果你希望添加更多类型(如开关、下拉菜单、颜色选择器等),也可以告诉我,我可以提供对应控件代码!

收藏
评论
打赏
Mirage 主题 v2.56.0 发布
上一篇
WordPress Customizer 自定义器控件类型
下一篇

0 条评论

像素鱼丸
88369 阅读
140 发布
3 收藏
动态
Mirage 主题 v2.56.0 发布
MirageV 主题 v2.6.4 发布
BotV 插件 v1.7.0 发布
MirageV 主题 v2.6.0 发布
FishV 主题 v1.14 发布
MirageV-App 小程序 v1.2.2 发布
LandV 企业主题 v2.6.0 发布
FishV 主题 v1.21.0 发布
生成中...
真诚赞赏,手留余香
登录
注册
重置密码