管理非 post 或页面的内容
Managing content that is not a post or a page
我正在使用高级自定义字段按 post s(书籍)或页面(主页、联系人等)管理内容。但是,如果我想管理无法按 post 或页面组织的内容,如营业时间、公司名称、标语、徽标等,该怎么办?
这些字段可能会在整个站点中多次出现,例如在页眉、页脚、关于页面、联系页面、主页等。这些字段并不是真正的 post 类型并且创建相同的自定义字段每个页面都是多余的。
有没有办法在不按 post 或页面组织内容的情况下使用 ACF 管理内容?
类似于:
$fields = get_fields('general_info'); //not a page, not a post
echo $fields->site_name; //appears on every page
echo $fields->slogan; //appears on 70% of pages
echo $fields->logo; //appears on header, footer and about
ACF 的选项页面是处理此问题的好方法。首先,您在 functions.php 中注册选项页面,例如 -
if( function_exists('acf_add_options_page') ) {
acf_add_options_sub_page(array(
'title' => 'Theme Options',
'parent' => 'options-general.php',
'capability' => 'manage_options'
));
}
这将在 WP 菜单的“设置”下放置一个新页面。然后您可以将字段添加到此选项页面并使用 get_field('field_name', 'option');
在您的主题中检索它们
可以使用Customize Screen,即原生。您只需将一个函数挂接到 customize_register
操作,并在其中创建部分和 settings/controls,如下所示:
function mytheme_customize_register( $wp_customize ) {
$wp_customize->add_section('custom_footer', array(
'title' => 'Footer',
'priority' => 125,
));
$wp_customize->add_setting('copyright', array(
'default' => '',
'capability' => 'edit_theme_options',
));
$wp_customize->add_control('copyright', array(
'label' => 'Copyright',
'section' => 'custom_footer',
'settings' => 'copyright',
));
}
add_action('customize_register', 'mytheme_customize_register');
要使用您只需调用的值
get_theme_mod('copyright');
希望对您有所帮助!
我正在使用高级自定义字段按 post s(书籍)或页面(主页、联系人等)管理内容。但是,如果我想管理无法按 post 或页面组织的内容,如营业时间、公司名称、标语、徽标等,该怎么办?
这些字段可能会在整个站点中多次出现,例如在页眉、页脚、关于页面、联系页面、主页等。这些字段并不是真正的 post 类型并且创建相同的自定义字段每个页面都是多余的。
有没有办法在不按 post 或页面组织内容的情况下使用 ACF 管理内容?
类似于:
$fields = get_fields('general_info'); //not a page, not a post
echo $fields->site_name; //appears on every page
echo $fields->slogan; //appears on 70% of pages
echo $fields->logo; //appears on header, footer and about
ACF 的选项页面是处理此问题的好方法。首先,您在 functions.php 中注册选项页面,例如 -
if( function_exists('acf_add_options_page') ) {
acf_add_options_sub_page(array(
'title' => 'Theme Options',
'parent' => 'options-general.php',
'capability' => 'manage_options'
));
}
这将在 WP 菜单的“设置”下放置一个新页面。然后您可以将字段添加到此选项页面并使用 get_field('field_name', 'option');
可以使用Customize Screen,即原生。您只需将一个函数挂接到 customize_register
操作,并在其中创建部分和 settings/controls,如下所示:
function mytheme_customize_register( $wp_customize ) {
$wp_customize->add_section('custom_footer', array(
'title' => 'Footer',
'priority' => 125,
));
$wp_customize->add_setting('copyright', array(
'default' => '',
'capability' => 'edit_theme_options',
));
$wp_customize->add_control('copyright', array(
'label' => 'Copyright',
'section' => 'custom_footer',
'settings' => 'copyright',
));
}
add_action('customize_register', 'mytheme_customize_register');
要使用您只需调用的值
get_theme_mod('copyright');
希望对您有所帮助!