0
に基づいて利用可能な配送方法のリストを得ることは可能ですか?合計金額および/または国コードのみですか?(満杯の)ショッピングカートのない配送方法のリスト
自分でSQLクエリを作成することで可能ですが、標準のWoo-commerce関数でも可能かどうか疑問に思っていました。
私は機能でそれを試してみた:
$shipping_methods = WC()->shipping->get_shipping_methods(),
が、それは国やコストをフィルタリングすることなく、私のすべての配送方法を提供します。例えば : local_pickupは
[local_pickup] => WC_Shipping_Local_Pickup Object
(
[supports] => Array
(
[0] => shipping-zones
[1] => instance-settings
[2] => instance-settings-modal
)
[id] => local_pickup
[method_title] => Afhalen
[method_description] => Sta klanten toe bestellingen zelf op te halen. Standaard worden winkelgebaseerde belastingen toegepast wanneer gekozen is voor lokaal ophalen, onafhankelijk van het adres van de klant.
[enabled] => yes
[title] =>
[rates] => Array
(
)
[tax_status] =>
[fee] =>
[minimum_fee] =>
[instance_id] => 0
[instance_form_fields] => Array
(
[title] => Array
(
[title] => Titel
[type] => text
[description] => Dit bepaalt de titel die de gebruiker ziet tijdens het afrekenen.
[default] => Afhalen
[desc_tip] => 1
)
[tax_status] => Array
(
[title] => Belastingstatus
[type] => select
[class] => wc-enhanced-select
[default] => taxable
[options] => Array
(
[taxable] => Belastbaar
[none] => Geen
)
)
[cost] => Array
(
[title] => Kosten
[type] => text
[placeholder] => 0
[description] => Optionele kosten voor afhalen.
[default] =>
[desc_tip] => 1
)
)
[instance_settings] => Array
(
)
[availability] =>
[countries] => Array
(
)
[plugin_id] => woocommerce_
[errors] => Array
(
)
[settings] => Array
(
[title] =>
[tax_status] =>
[cost] =>
)
[form_fields] => Array
(
)
[data:protected] => Array
(
)
[cost] =>
)
次のようになります。私は、次のコードを試してみましたが、私はまったく結果を得るません。
print_r (WC()->shipping->calculate_shipping(get_shipping_packages()));
die('ready');
function get_shipping_packages(){
global $wpdb, $woocommerce;
// Clear the Cart
$woocommerce->cart->empty_cart();
// Add an existing product to the cart, so $packages[0]['contents'] will not be empty...
$product_id = 26;
WC()->cart->add_to_cart($product_id);
$packages = array();
$packages[0]['contents'] = WC()->cart->cart_contents;
$packages[0]['contents_cost'] = 25;
$packages[0]['destination']['country'] = 'NL';
$packages[0]['destination']['state'] = null;
$packages[0]['destination']['postcode'] = null;
$packages[0]['destination']['city'] = null;
$packages[0]['destination']['address'] = null;
return ($packages);
}
は、追加のコードで、$ shipping_methodsの結果をフィルタリングしてもらえますか? – terrorfall
結果にはジェネリックのデータのみが含まれており、国番号、国番号などの詳細は含まれていません。 フィルタリングの仕方はわかりません。 – Ronald
返信しているデータで質問を更新できますか? – terrorfall