Php 将自定义字段添加到";补充资料“;标签(商业)
我正在尝试使用ACF为WooCommerce中的产品的“附加信息”选项卡添加自定义属性。我希望管理员能够上传一个PDF文件,然后应该设置并在“附加信息”选项卡中找到的表格中链接 我在WooCommerce的插件目录中找到了属性的默认模板,更准确地说是Php 将自定义字段添加到";补充资料“;标签(商业),php,wordpress,woocommerce,tabs,product,Php,Wordpress,Woocommerce,Tabs,Product,我正在尝试使用ACF为WooCommerce中的产品的“附加信息”选项卡添加自定义属性。我希望管理员能够上传一个PDF文件,然后应该设置并在“附加信息”选项卡中找到的表格中链接 我在WooCommerce的插件目录中找到了属性的默认模板,更准确地说是WooCommerce/templates/single product/product attributes.php。我可以轻松地将字段(“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()
。如果这是真的,也许你的答案应该改变。非常感谢你的帮助!