Php 如何在Woocommerce中获取装运方法自定义附加数据?
在此基础上,我在Shipping methods中创建了自定义字段“Shipping Method Description”:Php 如何在Woocommerce中获取装运方法自定义附加数据?,php,wordpress,woocommerce,settings,shipping-method,Php,Wordpress,Woocommerce,Settings,Shipping Method,在此基础上,我在Shipping methods中创建了自定义字段“Shipping Method Description”: add_action('woocommerce_init','shipping_instance_form_fields_filters'); 函数运送\实例\表单\字段\过滤器(){ $shipping_methods=WC()->shipping->get_shipping_methods(); foreach($shipping\u方法作为$shipping\u方
add_action('woocommerce_init','shipping_instance_form_fields_filters');
函数运送\实例\表单\字段\过滤器(){
$shipping_methods=WC()->shipping->get_shipping_methods();
foreach($shipping\u方法作为$shipping\u方法){
添加过滤器('woocommerce\u shipping\u instance\u form\u fields\u.$shipping\u method->id,'shipping\u instance\u form\u add\u extra\u fields');
}
}
函数传送\实例\表单\添加\额外\字段($settings){
$settings['shipping\u method\u description']=[
“标题”=>“装运方法说明”,
'类型'=>'文本',
'占位符'=>'装运',
“说明”=>“
];
返回$settings;
}
但我不明白如何在我的定制配送模板(/cart/cart shipping.php)中获取前端数据,如:
我不清楚如何获取此实例设置。有人能提出解决方案吗?商业配送方法设置存储在
选项名称
列的wp\u选项
表中,如下所示(其中$methods\u id
为名称(slug)和$instance\u id
为数字标识符):
要获取装运方法设置(数组),可以使用WordPressget\u option()
函数,如:
<?php
if ( $available_methods ) {
foreach ( $available_methods as $rate ) {
$data = get_option( 'woocommerce_' . $rate->method_id . '_' . $rate->instance_id . '_settings' );
if ( isset($data['shipping_method_description']) ) {
echo '<p>' . $data['shipping_method_description'] . '</p>';
}
echo '<p>' . $rate->label . '</p>';
echo '<p>' . $rate->cost . '</p>';
}
}
?>
测试和工作
<?php
if ( $available_methods ) {
foreach ( $available_methods as $rate ) {
$data = get_option( 'woocommerce_' . $rate->method_id . '_' . $rate->instance_id . '_settings' );
if ( isset($data['shipping_method_description']) ) {
echo '<p>' . $data['shipping_method_description'] . '</p>';
}
echo '<p>' . $rate->label . '</p>';
echo '<p>' . $rate->cost . '</p>';
}
}
?>