所有页面的Wordpress ACF是/否条件

时间:2018-10-05 10:46:58

标签: php wordpress advanced-custom-fields

我有一个custom-field类型的true/false,我希望在页脚中显示某些内容,如果为true,则为false。现在,页脚在所有页面上都可见,因此我必须为true/false字段设置什么样的规则?我应该改用页脚选项页面吗?

我当时想在首页后端(页面->首页)的侧边栏中设置“在页脚中显示表单”是/否设置

有人可以给我一个很好的建议吗?

3 个答案:

答案 0 :(得分:2)

您可以在选项页面中设置该字段,使其在管理面板中显示为单独的部分,您可以按以下方式将该字段签入页脚页面: <?php the_field('field_name', 'option'); ?>,因此它将检查选项页中的字段值。  或者您可以在首页中设置该字段,并可以通过将首页ID作为参数传递给the_field来检查每一页中的字段值,例如:-

$front_page = get_page_by_title('Front page name');
$pageid = $front_page->ID;
$footer =  get_field('about_banner_image',$pageid); 
if($footer == true)
{
   "Show footer"
}

要在选项页中使用此选项,请在get_field中使用“ option”代替$ pageid 我们通过使用页面名称获取该页面ID,并将该ID传递到get_fieldthe_field中,以便acf将检查该字段的值进入该页面。因此,您可以通过定义在任何页面中使用它分成一页。

答案 1 :(得分:2)

您应该尝试以下操作:true / false保存值1/0

  • 您可以为此从ACF插件中创建主题选项并获取当前ID 页面。

    <?php 
        $field = get_field('your custom field ID/name',get_the_ID());
    
        if($field == '1'){
            echo 'content';
        }else{
            echo 'no content';
        }   
     ?>
    

答案 2 :(得分:0)

您可以使用简单的wp_query来完成此操作的简单方法:

$footer_enable = get_posts(array(
    'meta_query' => array(
        array(
            'key' => 'enable_footer',
            'compare' => '=',
            'value' => '1'
        )
    )
));
if($footer_enable) {
   // show content
}