代码之家  ›  专栏  ›  技术社区  ›  Joe Bloggs

高级自定义字段-woocommerce-显示字段

  •  0
  • Joe Bloggs  · 技术社区  · 8 年前

    我正在努力在Woocommerce单一产品页面上显示使用ACF创建的几个字段。

    我已经创建了几个字段来显示定价表,我想在“添加到购物车”按钮上方显示此表。

    目前,我有以下代码:

    add_action( 'woocommerce_before_add_to_cart_button', 'display_acf_field_above_price', 30 );
    
    function display_acf_field_above_price() {
      echo '<div id="price-table">';
      echo '<b>Price Table:</b>';
      echo '<p><span>1 Week</span>' . get_field('1_week') . '</p>';
      echo '<p><span>1 Month</span>' . get_field('1_month') . '</p>';
      echo '</div>';
    }
    

    我得到了价格表,但现在,我如何在更多的表中显示数据,所以标签和值之间存在差距?

    目前,我的输出显示如下:

    1 Week$10
    1 Month$30
    

    如何在标签和值之间留出一些空间,使其看起来更像一个表?

    1 Week        $10
    1 Month       $30
    

    还有,如果字段不为空,如何显示字段?

    我可以看到它是如何在php模板中完成的,例如:

    <?php if( get_field('county') ) { ?>
        <?php echo get_field('county') . ' County' ; ?>
    <?php } ?>
    

    但我怎么能得到这个 if 使用echos将语句输入到我的设置中?

    1 回复  |  直到 8 年前
        1
  •  1
  •   Brian Patterson    8 年前
    add_action( 'woocommerce_before_add_to_cart_button', 'display_acf_field_above_price', 30 );
    
    function display_acf_field_above_price() {
    
        if(!empty(get_field('1_month'))){
    
             echo '<div id="price-table">';
             echo '<b>Price Table:</b>';
             echo '<p><span style="padding-left:10%">1 Week</span>' . get_field('1_week') . '</p>';
             echo '<p><span style="padding-left:10%">1 Month</span>' . get_field('1_month') . '</p>';
             echo '</div>';
          }
     }
    

    使用if语句检查 empty

    放置内联填充以覆盖任何css

    推荐文章