问题描述

我有一个网站有一些额外的 Customizer 部分。有没有办法直接链接到这些页面,以便页面加载时打开?

http://mysites.com/wp-admin/customize.php#fonts

screenshot http://new.tinygrab.com/96412a96d208cf8ff0cf5803327b2d29e0ca68810e.png

最佳解决方案

如您已经发现的,定制程序的链接始终以/wp-admin/customize.php 开头。

附加?autofocus[ section ] = section_name 以在定制程序中检出您的部分。两个参数 (sectionsection_name) 均已注册到您的 customize_register 钩子中:

$wp_customize->add_section

如果找不到挂钩,请查看定制器的 HTML 标记以获取更多信息。这两个参数都包含在列表中:

<li id="accordion-section-title_tagline" class="accordion-section control-section control-section-default">

总而言之,您的链接可能如下所示:

admin_url( '/customize.php?autofocus[section]=section_name' );

这些是 Twenty Sixteen WordPress 主题中默认定制程序部分的链接:

  • 站点标识:/customize.php?autofocus[section]=title_tagline

  • 颜色:/customize.php?autofocus[section]=colors

  • 标题图片:/customize.php?autofocus[section]=header_image

  • 背景图片:/customize.php?autofocus[section]=background_image

  • 菜单:/customize.php?autofocus[panel]=nav_menus

  • 小工具:/customize.php?autofocus[panel]=widgets

  • 静态前页:/customize.php?autofocus[section]=static_front_page


从哪里去?

我经常发现自己需要从 WordPress 管理菜单中的外观菜单项。也许这对你也有帮助:

add_action( 'admin_menu', 'wpse_custom_submenu_page' );
function wpse_custom_submenu_page() {
  add_submenu_page(
    'themes.php',
        __( 'Page title', 'textdomain' ),
        __( 'Menu title', 'textdomain' ),
        'manage_options',
        '/customize.php?autofocus[section]=section_name'
    );
}

参考文献

注:本文内容整合自 Google/Baidu/Bing 辅助翻译的英文资料结果。如果您对结果不满意,可以加入我们改善翻译效果:薇晓朵技术论坛。