有没有办法添加自定义字段来更改网站标题中显示的图像? 我希望在每个页面中显示相同的图像,所以我不知道如何制作通用的自定义字段而不是每个页面特定的字段。
<?php
$img = the_field('background_url');
?>
借助以下代码为 ACF 添加选项页面:
if( function_exists('acf_add_options_page') ) {
acf_add_options_page();
}
然后将选项分配给 acf 字段。 现在您可以使用
<?php the_field('logo', 'option'); ?>
访问这个公共字段
如果您使用的是 ACF Pro,那么您可以创建一个选项页面并在其中创建页眉、页脚字段。检查下面的链接。
https://www.advancedcustomfields.com/resources/options-page/
我假设标题图像是从主题中的
header.php
文件加载的?
如果您想在所有页面上使用相同的背景图像,您可以通过
set_theme_mod
功能设置默认标题图像。 set_theme_mod
负责当前主题的所有修改值。在这种情况下,您需要设置 header_image
属性。
header_image
文件中设置默认主题 functions.php
:
function theme_setup() {
set_theme_mod(‘header_image’, ‘http://yoursite.com/wp-content/uploads/yourimage.png’);
}
add_action('after_setup_theme', 'theme_setup');
在负责显示标题的主题文件中显示新设置的标题图像(假设为
header.php
):
<?php if ( get_header_image() ) : ?>
<div id="site-header">
<img alt="" src="<?php header_image(); ?>
</div>
<?php endif; ?>
如果您希望能够从 wp 管理部分的定制器(外观 > 标题)中上传自定义图像,您可以使用
custom_header
属性,您可以在此处找到有关它的更多信息:
我在阅读ACF文档后找到了一种方法,为了使自定义字段的范围全局,我必须在其上添加帖子/页面ID:
$video_file = get_field('background_video',156);
if( function_exists('acf_add_options_page') ) {
acf_add_options_page(array(
'page_title' => 'Theme General Settings',
'menu_title' => 'Theme Settings',
'menu_slug' => 'theme-general-settings',
'capability' => 'edit_posts',
'redirect' => false
));
acf_add_options_sub_page(array(
'page_title' => 'Theme Header Settings',
'menu_title' => 'Header',
'parent_slug' => 'theme-general-settings',
));
acf_add_options_sub_page(array(
'page_title' => 'Theme Footer Settings',
'menu_title' => 'Footer',
'parent_slug' => 'theme-general-settings',
));
}
此代码插入主题function.php中