在 WordPress 主题中切换多个 Headers
Switch Between Multiple Headers in WordPress Theme
我正在为 WordPress 构建自定义主题。我想做的一件事是允许自己从编辑页面切换 header。
我知道我可以在 header 中硬编码以根据页面 ID 或名称进行切换,如下所示:
<?php
if(is_page(10)) {
get_header('new');
}
else {
get_header();
}
wp_head();
?>
但我想要一个类似于边栏中的“页面模板”选项的下拉菜单。 (见截图)
Screenshot of sidebar menu
我已经查找过涵盖此类选项的任何在线教程,但它们都涵盖了上面显示的基本 ID 或名称设置。
有谁知道创建类似于页面模板的下拉列表以用于多个 header 的好教程吗?
您可以使用 Custom Metaboxes. That link contains a comprehensive tutorial on creating custom metaboxes for post meta fields by hand. You can also use a plugin like Advanced Custom Fields 创建它们。
这样做可以让您分别通过 get_post_meta()
or get_field()
检查 header 样式值。
<?php
// If using the Custom Metabox/post_meta approach:
$header_style = get_post_meta( get_the_ID(), 'my_custom_header', true );
// If using ACF:
$header_style = get_field( 'my_custom_header', get_the_ID() );
if( $header_style == 'new' ){
get_header('new');
if( $header_style == 'something-else' ){
get_header('something-else');
} else {
get_header();
}
?>
我正在为 WordPress 构建自定义主题。我想做的一件事是允许自己从编辑页面切换 header。
我知道我可以在 header 中硬编码以根据页面 ID 或名称进行切换,如下所示:
<?php
if(is_page(10)) {
get_header('new');
}
else {
get_header();
}
wp_head();
?>
但我想要一个类似于边栏中的“页面模板”选项的下拉菜单。 (见截图)
Screenshot of sidebar menu
我已经查找过涵盖此类选项的任何在线教程,但它们都涵盖了上面显示的基本 ID 或名称设置。
有谁知道创建类似于页面模板的下拉列表以用于多个 header 的好教程吗?
您可以使用 Custom Metaboxes. That link contains a comprehensive tutorial on creating custom metaboxes for post meta fields by hand. You can also use a plugin like Advanced Custom Fields 创建它们。
这样做可以让您分别通过 get_post_meta()
or get_field()
检查 header 样式值。
<?php
// If using the Custom Metabox/post_meta approach:
$header_style = get_post_meta( get_the_ID(), 'my_custom_header', true );
// If using ACF:
$header_style = get_field( 'my_custom_header', get_the_ID() );
if( $header_style == 'new' ){
get_header('new');
if( $header_style == 'something-else' ){
get_header('something-else');
} else {
get_header();
}
?>