如何在所有页面上显示主页中的ACF字段值?

时间:2021-02-04 作者:Simon

我的主页使用ACF(“设置主页”)字段。这些字段将项目定位在页脚中。问题是它们不会显示在其他网站上。如何在所有子页面上显示主页中的字段?这样您就不必在每个子页面上输入相同的数据

显示在页脚中。我使用的php:

<?php the_field(\'contact_form_title\'); ?>

2 个回复
SO网友:dkeeling

ACF的the_field()get_field() 接受多个参数,其中一个是帖子ID。因此,您只需获取该字段所在页面的ID,如下所示:

<?php
$frontpage_id = get_option( \'page_on_front\' );
the_field(\'contact_form_title\', $frontpage_id); 

// For pages other than home
$page = get_page_by_path(\'some-page-slug\');
the_field(\'contact_form_title\', $page->ID);
?>

SO网友:robwatson_dev

如果你有Pro version 对于插件,您最好使用ACF选项页面。

更多信息:https://www.advancedcustomfields.com/resources/options-page/

您需要在主题中启用它,方法是在函数中添加类似的内容。php文件。

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
    ));
}
然后您可以将其弹出到页脚中;

<?php the_field( \'field_name\', \'option\' ); ?>
然而,您应该对这将是另一个数据库查询的事实感到厌倦,所以若您担心速度,那个么最好将内容硬编码到页脚中。php

此时此刻,选项页are only in the Pro version 我相信这个插件。

相关推荐

警告:第56行的主题php中为Foreach()提供的参数无效

我发现了这个错误,但不知道该怎么办,我已经禁用了插件并再次激活了它们,但每个产品的评论页面上都显示了相同的错误。非常感谢你的帮助下面是确切的错误:警告:在/home/flowt/public\\u html/wp-content/themes/rubens/template/single-product/u-review中为foreach()提供的参数无效。php在线56所以我去了我的主题编辑器,下面是我在第56行看到的内容,但不确定我是否应该触摸这段代码,我不是一个程序员:printf(\'<di