【问题标题】:advanced custom fields true/false only works in front-page.?? not in innerpages why?高级自定义字段 true/false 仅适用于首页。??为什么不在内页?
【发布时间】:2020-01-03 08:03:16
【问题描述】:

如果条件显示基于上述代码的部分,我有一个 ACF 真或假。它可以在 WordPress 的首页/主页上正常工作。但它在内页中不起作用,无法获取字段的值,我在页脚模板中使用此代码。

它是一个最新版本的 WordPress 网站。并且代码在页脚模板中

<?php 
$show_company_info = get_field( "show_company_info", get_the_ID() );
if($show_company_info ): 
?>
<section class="company">
  <div class="container">

      <?php if ( is_active_sidebar( 'company-info-widget' ) ) : ?>
      <?php dynamic_sidebar( 'company-info-widget' ); ?>
      <?php endif; ?>

  </div>
</section>
<?php endif; ?>

如果我们检查了任何页面中的 ACF true/fields 条件,它将显示该部分,否则不显示。但它实际上只在主页上有效

【问题讨论】:

    标签: php wordpress templates if-statement advanced-custom-fields


    【解决方案1】:

    假设您在主页中创建了一个字段。 因此,要检索主页字段,您需要这样做:

    $frontpage_id = get_option( 'page_on_front' );
    $show_company_info = get_field( "show_company_info", $frontpage_id  );
    
     if ( $show_company_info ) {
         //Your code 
     }
    

    【讨论】:

    • 没有。我使用 acf 规则在所有页面和帖子中添加了字段。并且显示在所有页面中
    • 尝试使用global $post; $page_id = $post-&gt;ID; $show_company_info = get_field( "show_company_info", $page_id );检索ID
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-07-27
    • 2015-05-27
    • 1970-01-01
    • 2016-06-28
    • 2021-02-18
    • 2013-10-23
    • 1970-01-01
    相关资源
    最近更新 更多