【问题标题】:Wordpress ACF true/false condition for all pages所有页面的 Wordpress ACF 真/假条件
【发布时间】:2019-03-10 20:37:47
【问题描述】:

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

我正在考虑在首页(页面->首页)的侧边栏上设置“在页脚中显示表单”真/假设置

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

【问题讨论】:

    标签: php wordpress advanced-custom-fields


    【解决方案1】:

    您可以在选项页面中设置字段,使其在管理面板中显示为单独的部分,您可以通过以下方式将字段签入页脚页面 <?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 中使用“选项”而不是 $pageid 我们通过使用页面名称获取页面 id 并将该 id 传递给 get_fieldthe_field 以便 acf 将字段的值检查到该页面中.. 因此您可以通过将其定义到一个页面中来在任何页面中使用它..

    【讨论】:

    • 乐于助人 :-)
    【解决方案2】:

    你应该尝试如下:真/假保存值 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';
          }   
       ?>
      

    【讨论】:

      【解决方案3】:

      使用简单的wp_query

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

      【讨论】:

      • 它们保存在wp_postmeta 中,acf 提供了自己的方法来获取值,因此无需使用自定义查询,您可以使用 acf 方法轻松获取字段值..
      猜你喜欢
      • 1970-01-01
      • 2019-01-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-10-04
      • 2014-06-01
      • 2012-12-12
      • 2015-07-11
      相关资源
      最近更新 更多