我正在将ACF用于广告。有2个栏位,分别是广告图片和点击图片所指向的链接。我已经设置好它们,并且它们工作正常。必须将它们显示在主页和帖子页上。
现在这个问题是关于什么的:我希望能够仅在主页上(或者您有更好的主意的其他地方)设置广告,并将这些字段值应用于帖子页面。
当前,我将其设置为主页,可以正常使用。但是,如果我创建一个新的博客文章,则需要为每个新的博客文章选择广告。我认为这是糟糕的UX,因为如果只有1个广告,最好将它设置一次并将其应用于其他任何地方。
实现此目标的最佳方法是什么?
答案 0 :(得分:0)
编辑:查看可接受的答案以获得更清洁的解决方案
我做了更多研究,找到了解决方法。
在主题的functions.php中,为要获取的字段创建一个函数。对于我来说情况看起来像这样
// Get the Sponsored Content Image
function get_sponsored_content_image()
{
return get_field('advertisement_photo');
}
然后在您要访问该字段的模板部分中执行以下操作:
<?php $sponsored_photo = get_sponsored_content_image();
答案 1 :(得分:0)
使用ACF进行此操作的真正方法是使用$ post-> ID参数。
假设您在首页上设置了该字段的值,现在您将无法在其他页面上使用该字段,那么以下内容将无法正常工作:
$frontpage_id = (int)get_option( 'page_on_front' );
the_field('homepage_field', $frontpage_id);
您需要告诉ACF什么页面ID来检查其值:
df = df.assign(column=value)
如果您要获取在wordpress选项中设置为首页的首页,请使用以下内容:
column
这也可以与:
关于您提到的一种可能的不同选择,我们建议您选择。试试Premium ACF Options Page插件,它将允许您使用以下方法获取字段: