Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/wordpress/12.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 如何在Woocommerce中获取装运方法自定义附加数据?_Php_Wordpress_Woocommerce_Settings_Shipping Method - Fatal编程技术网

Php 如何在Woocommerce中获取装运方法自定义附加数据?

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方

在此基础上,我在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方法){
添加过滤器('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
为数字标识符):

要获取装运方法设置(数组),可以使用WordPress
get\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>';
    }
} 
?>