json 详细说明WooCommerce和高级自定义字段的交付时间
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了json 详细说明WooCommerce和高级自定义字段的交付时间相关的知识,希望对你有一定的参考价值。
<?php
function get_acf_product_cat_delivery_time( $product ) {
$args = array( 'taxonomy' => 'product_cat', 'fields' => 'ids' );
$terms = wp_get_post_terms( $product->ID, 'product_cat', $args);
if( have_rows( 'acf_product_cat_delivery', 'option' ) ) {
while ( have_rows('acf_product_cat_delivery', 'option') ) {
the_row();
$delivery_term_object = get_sub_field('acf_product_cat_delivery_taxonomy');
if( in_array( $delivery_term_object->term_id, $terms ) ) {
// return '<p class="estimate-delivery-time"><em><small>'.get_sub_field('acf_product_cat_delivery_text').'</small></em></p>';
return get_sub_field('acf_product_cat_delivery_text');
}
}
}
return false;
}
function get_acf_product_delivery_time( $product ) {
if( get_field('acf_product_delivery_text', $product->ID ) ) {
return get_field('acf_product_delivery_text', $product->ID );
}
return false;
}
add_filter( 'woocommerce_get_availability', 'yanco_custom_get_availability', 1, 2);
function yanco_custom_get_availability( $availability, $_product ) {
$default_delivery_prefix = __('Leveringstid: ', 'woocommerce');
if ( $_product->is_in_stock() ) {
// Er varen på lager (uanset hvilket valgmulighed vi har valgt ved produktet) så skal der stå: 1-3 dages levering.
$availability['availability'] = $default_delivery_prefix . __('1-3 dage', 'woocommerce');
}
if ( ! $_product->is_in_stock() ) {
// Er varen ikke på lager, så har vi flg. valgmuligheder:
$availability['availability'] = $default_delivery_prefix . __('Udsolgt på lager og fjernlager. Ved bestilling kontakter vi med en status og forventet leveringsdato.', 'woocommerce');
if( ! $_product->backorders_allowed() ) {
// Hvis valgmuligheden står på tillad ikke: Udsolgt på lager og fjernlager. Ved bestilling kontakter vi med en status og forventet leveringsdato.
$availability['availability'] = $default_delivery_prefix . __('Udsolgt på lager og fjernlager. Ved bestilling kontakter vi med en status og forventet leveringsdato.', 'woocommerce');
}
if( $_product->backorders_allowed() ) {
// Hvis valgmuligheden står på tillad: 3-10 dages levering.
$availability['availability'] = $default_delivery_prefix . __('3-10 dage', 'woocommerce');
}
if( $_product->backorders_require_notification() ) {
// Hvis valgmuligheden står på tillad, men underret kunder: 2-4 ugers levering.
$availability['availability'] = $default_delivery_prefix . __('2-4 uger', 'woocommerce');
}
}
$acf_product_cat_delivery_time = get_acf_product_cat_delivery_time( $_product );
if( $acf_product_cat_delivery_time != false ) {
$availability['availability'] = $acf_product_cat_delivery_time;
}
$acf_product_delivery_time = get_acf_product_delivery_time( $_product );
if( $acf_product_delivery_time != false ) {
$availability['availability'] = $default_delivery_prefix . $acf_product_delivery_time;
}
return $availability;
}
[
{
"key": "group_58877511005b3",
"title": "Produkt Leveringstid",
"fields": [
{
"default_value": "",
"maxlength": "",
"placeholder": "F.eks. 2-7 dage",
"prepend": "",
"append": "",
"key": "field_58877522b91b5",
"label": "Produkt Leveringstid",
"name": "acf_product_delivery_text",
"type": "text",
"instructions": "",
"required": 0,
"conditional_logic": 0,
"wrapper": {
"width": "",
"class": "",
"id": ""
}
}
],
"location": [
[
{
"param": "post_type",
"operator": "==",
"value": "product"
}
]
],
"menu_order": -1,
"position": "side",
"style": "default",
"label_placement": "top",
"instruction_placement": "label",
"hide_on_screen": "",
"active": 1,
"description": ""
},
{
"key": "group_584feea0bffc1",
"title": "Produkt Kategori Leveringstid Indstillinger",
"fields": [
{
"sub_fields": [
{
"taxonomy": "product_cat",
"field_type": "select",
"multiple": 0,
"allow_null": 0,
"return_format": "object",
"add_term": 0,
"load_terms": 1,
"save_terms": 1,
"key": "field_584feef88f7cd",
"label": "Produkt Kategori",
"name": "acf_product_cat_delivery_taxonomy",
"type": "taxonomy",
"instructions": "V\u00e6lg produkt kategorien du \u00f8nsker at s\u00e6tte standard leveringstidstekst for",
"required": 1,
"conditional_logic": 0,
"wrapper": {
"width": "",
"class": "",
"id": ""
}
},
{
"default_value": "",
"maxlength": "",
"placeholder": "F.eks. 2-7 dage",
"prepend": "",
"append": "",
"key": "field_584fef708f7ce",
"label": "Tekst",
"name": "acf_product_cat_delivery_text",
"type": "text",
"instructions": "Skriv teksten der skal vises for denne produktkategori.",
"required": 1,
"conditional_logic": 0,
"wrapper": {
"width": "",
"class": "",
"id": ""
}
}
],
"min": 0,
"max": 0,
"layout": "table",
"button_label": "Tilf\u00f8j Ny Brand Leveringstekst",
"collapsed": "",
"key": "field_584feed78f7cc",
"label": "Standard Produkt Kategori Leveringstid",
"name": "acf_product_cat_delivery",
"type": "repeater",
"instructions": "Inds\u00e6t standard leveringstider for produktkategorier",
"required": 0,
"conditional_logic": 0,
"wrapper": {
"width": "",
"class": "",
"id": ""
}
}
],
"location": [
[
{
"param": "options_page",
"operator": "==",
"value": "delivery-general-settings"
}
]
],
"menu_order": 0,
"position": "normal",
"style": "default",
"label_placement": "top",
"instruction_placement": "label",
"hide_on_screen": "",
"active": 1,
"description": ""
}
]
以上是关于json 详细说明WooCommerce和高级自定义字段的交付时间的主要内容,如果未能解决你的问题,请参考以下文章
WooCommerce 中多个国家/地区的基于地理位置的自定义重定向
WooCommerce 中特定产品的基于地理位置的自定义重定向
如何在 WooCommerce 3 中添加自定义工作运输方式
php [WooCommerce Instagram]如果您想将其更改为缩略图或其他图像尺寸,请将此代码添加到您的“自定义功能”区域