将自定义字段添加到"附加信息"标签(WooCommerce)

时间:2018-04-02 19:15:04

标签: php wordpress woocommerce tabs product

我尝试使用ACF将自定义属性添加到"其他信息" WooCommerce中的产品标签。我希望管理员能够上传PDF,然后应该在"附加信息"中找到的表格中进行设置和链接。标签

我已经找到了WooCommerce插件目录中属性的默认模板,更确切地说是woocommerce/templates/single-product/product-attributes.phpThis is how the template looks。我可以轻松地将the_field("pdf")放在那里以显示自定义字段,但我遇到的问题是“附加信息”选项卡仅显示是否已通过WooCommerce添加属性。

是否有某种方法可以为何时显示“附加信息”选项卡添加其他条件标记?如果我能以某种方式将if (get_field("pdf"))添加到该代码中,我认为这将得到解决。

1 个答案:

答案 0 :(得分:1)

更新:在Woocommerce中,如果存在任何尺寸,重量或产品属性(设置为在产品上显示),将显示“附加信息”标签...

因此,如果该标签已隐藏,并且您已在 single-product/product-attributes.php 模板上添加了一个自定义字段get_field("pdf"),则显示,其值为,您可以强制“附加信息”标签显示,使用:

add_filter( 'woocommerce_product_tabs', 'woo_customize_tabs', 100, 1 );
function woo_customize_tabs( $tabs ) {
    if( ! isset($tabs['additional_information']) && null !== get_field("pdf") ){
        $tabs['reviews']['priority'] = 30;
        $reviews = $tabs['reviews'];
        unset($tabs['reviews']);
        $tabs['additional_information'] = array(
            'title'     => __( 'Additional information', 'woocommerce' ),
            'priority'  => '20',
            'callback'  => 'woocommerce_product_additional_information_tab',
        );
        $tabs['reviews'] = $reviews;
    }
    return $tabs;
}

代码放在活动子主题(或活动主题)的function.php文件中。经过测试和工作。