Még nincs semmi a kosárban
Gyakran használt snippetek
Saját feltétel hozzáadása az árazás beállításához
//Feltétel hozzáadása az árazás beállításokhoz
add_filter('vp_woo_pont_pricings_conditions', function($conditions){
$conditions['customer_type'] = array(
"label" => __('Vevő típus', 'vp-woo-pont'),
'options' => array(
'prefix_company' => 'vállalkozás',
'prefix_individual' => 'magánszemély',
)
);
return $conditions;
});
//Ellenőrzi, hogy a megadott feltétel passzol e
add_filter('vp_woo_pont_pricings_conditions_values', function($cart_details){
$radio_value = 'company';
$cart_details['customer_type'] = ($radio_value) ? 'prefix_company' : 'prefix_individual';
return $cart_details;
});
Egyedi cikkszámok megjelenítése a címkén
add_filter('vp_woo_pont_posta_label_placeholders', function($placeholders, $order){
$order_items = $order->get_items();
$order_items_short_skus = array();
foreach( $order_items as $order_item ) {
if($product = $order_item->get_product()) {
if($product->get_meta('_short_sku')) {
$order_items_short_skus[] = $order_item->get_quantity().'x '.$product->get_meta('_short_sku');
}
}
}
$placeholders['{short_skus}'] = implode(', ', $order_items_short_skus);
return $placeholders;
}, 10, 2);
//Create custom field for product
add_action( 'woocommerce_product_options_inventory_product_data', function(){
woocommerce_wp_text_input( array(
'id' => '_short_sku',
'label' => 'Rövid SKU'
));
});
Tartalom megjelenítése a rendelések táblázatban a csomagkövetés oszlop után
add_action('vp_woo_pont_after_order_list_tracking_column', function($order, $event, $event_type){
print_r($event);
}, 10, 3);
Egyedi mező a manuális címkegenerálásnál és az érték használata a címke létrehozásához
//Utánvét összeg mező létrehozása
add_action('vp_woo_pont_metabox_after_generate_options', function($order){
if($order->get_payment_method() == 'cod') {
?>
<li>
<label for="vp_woo_pont_cod_value">Utánvét összeg</label>
<input type="text" id="vp_woo_pont_cod_value" value="<?php echo esc_attr($order->get_total()); ?>">
</li>
<script>
jQuery(document).ready(function($){
$.ajaxPrefilter(function(options, originalOptions, jqXHR) {
if(options.data.includes('vp_woo_pont_generate_label')) {
var cod_value = $('input#vp_woo_pont_cod_value').val();
options.data += '&cod_value='+cod_value
}
});
});
</script>
<?php
}
});
//Egyedi utánvét összeg használata címkén
add_filter('vp_woo_pont_prepare_label_data', function($data){
if(isset($_POST['cod_value'])) {
$cod_value = intval($_POST['cod_value']);
$data['package']['total'] = $cod_value;
$data['package']['total_rounded'] = 5 * round($cod_value / 5);
}
return $data;
});
Ország módosítása GLS címkén
add_filter('vp_woo_pont_gls_label', function($label){
$label['ParcelList'][0]['DeliveryAddress']['CountryIsoCode'] = 'HU';
print_r($label);
return $label;
});
Díj hozzáadása szolgáltató alapján a kosárhoz
Az alábbi példában ha Postapont van kiválasztva, vagy a flat_rate:30 azonosítójú szállítási mód van használva, akkor ad hozzá egy csomagolási díjat:
add_action( 'woocommerce_cart_calculate_fees', function($cart){
if ( is_admin() && ! defined( 'DOING_AJAX' ) )
return;
//Get shipping method
$chosen_methods = WC()->session->get( 'chosen_shipping_methods' );
$selected_pont = WC()->session->get( 'selected_vp_pont' );
$chosen_shipping = $chosen_methods[0];
$vp_pont_chosen = false;
$home_delivery_instance = 'flat_rate:30';
//Check if at least one of the shipping methods are vp_pont
foreach ($chosen_methods as $method) {
if (strpos($method, 'vp_pont') !== false) {
$vp_pont_chosen = true;
break;
}
}
//Check if postapont is selected
if(($vp_pont_chosen && $selected_pont['provider'] && strpos($selected_pont['provider'], 'posta') !== false) || $chosen_shipping == $home_delivery_instance) {
$cart->add_fee( 'Csomagolási díj', 1000 );
}
});
Ebben a cikkben
Bővítmény információk
Verziószám: | 3.2.6 |
Legutóbb frissítve: | 2024. 04. 18. |
Változási napló: | Megtekint |
WooCommerce Csomagpontok és Címkék
Címkegenerálás, nyomtatás és automatikus csomagkövetés évente 5000 rendelés felett