Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/257.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/wordpress/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 将自定义字段添加到";补充资料“;标签(商业)_Php_Wordpress_Woocommerce_Tabs_Product - Fatal编程技术网

Php 将自定义字段添加到";补充资料“;标签(商业)

Php 将自定义字段添加到";补充资料“;标签(商业),php,wordpress,woocommerce,tabs,product,Php,Wordpress,Woocommerce,Tabs,Product,我正在尝试使用ACF为WooCommerce中的产品的“附加信息”选项卡添加自定义属性。我希望管理员能够上传一个PDF文件,然后应该设置并在“附加信息”选项卡中找到的表格中链接 我在WooCommerce的插件目录中找到了属性的默认模板,更准确地说是WooCommerce/templates/single product/product attributes.php。我可以轻松地将字段(“pdf”)放在那里以显示自定义字段,但我遇到的问题是,附加信息选项卡仅在通过WooCommerce添加属性时

我正在尝试使用ACF为WooCommerce中的产品的“附加信息”选项卡添加自定义属性。我希望管理员能够上传一个PDF文件,然后应该设置并在“附加信息”选项卡中找到的表格中链接

我在WooCommerce的插件目录中找到了属性的默认模板,更准确地说是
WooCommerce/templates/single product/product attributes.php
。我可以轻松地将
字段(“pdf”)
放在那里以显示自定义字段,但我遇到的问题是,附加信息选项卡仅在通过WooCommerce添加属性时才会显示


是否有一些方法可以添加附加条件标记,以确定何时显示附加信息选项卡?如果我能在代码中添加
If(get_field(“pdf”)
,我想这会解决的。

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

因此,如果该选项卡被隐藏,并且您在
单个产品/产品属性.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文件。已测试且有效。

是否有任何方法可以使用
get_字段(“pdf”)
代码并获取附加信息选项卡,以显示是否为特定产品设置了维度属性或设置了“pdf”ACF字段?有效!我不得不将
isset(get_field(“pdf”)
更改为
null!==get_field(“pdf”)
但是为了避免错误,告诉我,
isset
不能用于
get_field()
。如果这是真的,也许你的答案应该改变。非常感谢你的帮助!