- 1. Els meus 25 millors fragments de WooCommerce per a WordPress
- 2. Actualment Llegint: Els meus 25 millors fragments de WooCommerce per a la segona part de WordPress
Fa uns dies vaig escriure una publicació on enumerava 25 dels fragments de WooCommerce més útils que faig servir i vau ser molta gent per demanar més, així que avui he decidit proporcionar-vos alguns fragments més per WooCommerce! Aqui venim!
Contents
- 1 1: substituïu el logotip de PayPal per defecte de WooCommerce
- 2 2: substituïu la imatge de marcador de producte predeterminada
- 3 3 – Elimineu “Productes” del pa ratllat
- 4 4 – Carret buit
- 5 5: Afegeix automàticament el producte al carretó en visita
- 6 6: afegiu un símbol / moneda personalitzada
- 7 7 – Canvia el text del botó d’afegir al carret
- 8 8: afegir la subscripció redirigida al carret a la pàgina de compra
- 9 9: redirigiu la pàgina de checkout després d’afegir-la a la cistella
- 10 10: CC tots els correus electrònics
- 11 11: envieu un correu electrònic quan es finalitzi una nova comanda amb els cupons utilitzats
- 12 12 – Canvia el número de productes relacionats
- 13 13 – Exclou els productes d’una determinada categoria a la pàgina de la botiga
- 14 14 – Canvia el número de les columnes de la botiga
- 15 15 – Desactiveu les pestanyes WooCommerce
- 16 16 – Traieu el pa ratllat
- 17 17 – Restringiu la llista de països d’enviament
- 18 18 – Reemplaça “Gratuït!” cadena de producte
- 19 19 – Amagueu tots els altres mètodes d’enviament quan estigui disponible l’enviament gratuït
- 20 20 – Feu que el camp “estat” no sigui obligatori
- 21 21 – Crea programalment un cupó
- 22 22 – Canvieu les línies d’assumpte de correu electrònic
- 23 23 – Afegeix una quota personalitzada al carretó
- 24 24: personalització afegida al missatge del carretó
- 25 25 – Afegiu un mètode de pagament al correu electrònic d’administració
1: substituïu el logotip de PayPal per defecte de WooCommerce
/ *
* Substituïu la icona de PayPal per defecte de WooCommerce
* /
funció paypal_checkout_icon () {
tornar "https://www.paypalobjects.com/webstatic/mktg/logo-center/logo_betalen_met_paypal_nl.jpg"; // escriviu el vostre propi URL d’imatge aquí
}
add_filter ('woocommerce_paypal_icon', 'paypal_checkout_icon');
2: substituïu la imatge de marcador de producte predeterminada
/ *
* entra en tema funcions.php o un complement personalitzat. Substituïu el nom del fitxer / ruta de la imatge pel vostre 🙂
*
** /
add_action ('init', 'custom_fix_thumbnail');
function custom_fix_thumbnail () {
add_filter ('woocommerce_placeholder_img_src', 'custom_woocommerce_placeholder_img_src');
function custom_woocommerce_placeholder_img_src ($ src) {
$ upload_dir = wp_upload_dir ();
$ uploads = untrailingslashit ($ upload_dir ['baseurl']);
$ src = $ càrregues. '/ 2012/07/thumb1.jpg';
retornar $ src;
}
}
3 – Elimineu “Productes” del pa ratllat
/ *
* Amagueu "Productes" a la pa de pan de WooCommerce
* /
function woo_custom_filter_breadcrumbs_trail ($ trail) {
foreach ($ traçat com $ k => $ v) {
if (strtolower (strip_tags ($ v)) == 'productes') {
desactivat ($ trail [$ k]);
trencar;
}
}
tornar $ trail;
}
add_filter ('woo_breadcrumbs_trail', 'woo_custom_filter_breadcrumbs_trail', 10);
4 – Carret buit
/ *
* Carret buit de WooCommerce
* /
function my_empty_cart () {
$ $ woocommerce global;
$ woocommerce-> cart-> empty_cart ();
}
add_action ("init", "my_empty_cart");
5: Afegeix automàticament el producte al carretó en visita
/ *
* Afegiu un article al carretó en visita
* /
funció add_product_to_cart () {
if (! is_admin ()) {
$ $ woocommerce global;
$ producte_id = 64;
$ trobat = fals;
// comproveu si el producte ja es troba al carret
if (sizeof ($ woocommerce-> cart-> get_cart ())> 0) {
foreach ($ woocommerce-> cart-> get_cart () com $ cart_item_key => $ valors) {
$ _product = $ valors ['dades'];
if ($ _product-> id == $ product_id)
$ trobat = true;
}
// si no es troba el producte, afegiu-lo
si (! $ trobat)
$ woocommerce-> cart-> add_to_cart ($ product_id);
} més {
// si no hi ha productes al carret, afegeix-lo
$ woocommerce-> cart-> add_to_cart ($ product_id);
}
}
}
add_action ('init', 'add_product_to_cart');
6: afegiu un símbol / moneda personalitzada
add_filter ('woocommerce_currencies', 'add_my_currency');
funció add_my_currency ($ monedes) {
$ monedes ['ABC'] = __ ('Nom de la moneda', 'woocommerce');
retornar monedes $;
}
add_filter ('woocommerce_currency_symbol', 'add_my_currency_symbol', 10, 2);
funció add_my_currency_symbol ($ coin_symbol, $ moneda) {
commuta ($ moneda) {
case 'ABC': $ coin_symbol = '$'; trencar;
}
retornar $ coin_symbol;
}
7 – Canvia el text del botó d’afegir al carret
/ **
* Canvieu l'afegit al text del carretó a les pàgines d'un sol producte
* /
function woo_custom_cart_button_text () {
retornar __ ("Text del meu botó", "woocommerce");
}
add_filter ("single_add_to_cart_text", "woo_custom_cart_button_text");
/ **
* Canvieu el text d’afegit al carret al fitxer de productes
* /
function woo_archive_custom_cart_button_text () {
retornar __ ("Text del meu botó", "woocommerce");
}
add_filter ('add_to_cart_text', 'woo_archive_custom_cart_button_text');
8: afegir la subscripció redirigida al carret a la pàgina de compra
/ **
* Redirigiu la subscripció a la cistella a la pàgina de compra
*
* @param string $ url
* /
funció custom_add_to_cart_redirect ($ url) {
$ product_id = (int) $ _REQUEST ['complement al carret'];
if (class_exists ("WC_Subscriptions_Product")) {
if (WC_Subscriptions_Product :: is_subscription ($ product_id)) {
retornar get_permalink (get_option ('woocommerce_checkout_page_id'));
} més retornar $ url;
} més retornar $ url;
}
add_filter ('add_to_cart_redirect', 'custom_add_to_cart_redirect');
Aquest fragment requereix el complement de subscripcions.
9: redirigiu la pàgina de checkout després d’afegir-la a la cistella
/ **
* Redirigiu la subscripció a la cistella a la pàgina de compra
*
* @param cap
* /
funció add_to_cart_checkout_redirect () {
wp_safe_redirect (get_permalink (get_option ('woocommerce_checkout_page_id')));
morir ();
}
add_action ('woocommerce_add_to_cart', 'add_to_cart_checkout_redirect', 11);
10: CC tots els correus electrònics
/ **
* Funció addicional de WooCommerce
* --------------------------
*
* Afegeix un altre destinatari de correu electrònic a tots els correus electrònics de WooCommerce
*
* /
function woo_cc_all_emails () {
retorna "Bcc: [email protected]". "\ r \ n";
}
add_filter ("woocommerce_email_headers", "woo_cc_all_emails");
11: envieu un correu electrònic quan es finalitzi una nova comanda amb els cupons utilitzats
/ **
* Funció addicional de WooCommerce
* --------------------------
*
* Envieu un correu electrònic cada vegada que es realitzi una comanda amb cupó (s)
* El correu electrònic conté el cupó (s) utilitzat durant el procés de compra
*
* /
function woo_email_order_coupons ($ order_id) {
$ comanda = nova WC_Order ($ ordre_id);
if ($ comanda-> get_used_coupons ()) {
$ a = '[email protected]';
$ subject = "Nova comanda finalitzada";
$ headers = "De: El meu nom". "\ r \ n";
$ message = 'S'ha completat una nova comanda. \ n';
$ message. = 'Identificador de comanda:'. $ order_id. '\ n';
$ message. = 'Cupons utilitzats: \ n';
foreach ($ order-> get_used_coupons () com a cupó $) {
$ message. = $ cupó. '\ n';
}
@wp_mail ($ a, $ subjecte, $ missatge, $ capçaleres);
}
}
add_action ("woocommerce_thankyou", "woo_email_order_coupons");
12 – Canvia el número de productes relacionats
/ **
* Funció addicional de WooCommerce
* --------------------------
*
* Canviar el nombre de productes relacionats a la pàgina del producte
* Definiu el vostre propi valor per a 'posts_per_page'
*
* /
function woo_related_products_limit () {
producte global de $;
$ args = matriu (
'post_type' => 'producte',
'no_found_rows' => 1,
'posts_per_page' => 6,
'ignore_sticky_posts' => 1,
'orderby' => $ ordre,
'post__in' => $ relacionat,
'post__not_in' => matriu ($ product-> id)
);
retornar $ args;
}
add_filter ('woocommerce_related_products_args', 'woo_related_products_limit');
13 – Exclou els productes d’una determinada categoria a la pàgina de la botiga
/ **
* Elimina els productes de la pàgina de la botiga per categoria
*
* /
function woo_custom_pre_get_posts_query ($ q) {
if (! $ q-> is_main_query ()) torna;
if (! $ q-> is_post_type_archive ()) torna;
if (! is_admin () && is_shop ()) {
$ q-> set ("tax_query", matriu (matriu (
'taxonomia' => 'producte_cat',
'field' => 'llima',
'terms' => array ('sabates'), // No mostreu productes de la categoria de sabates a la pàgina de la botiga
'operator' => 'NO EN "
)));
}
remove_action ('pre_get_posts', 'custom_pre_get_posts_query');
}
add_action ("pre_get_posts", "woo_custom_pre_get_posts_query");
14 – Canvia el número de les columnes de la botiga
/ **
* Funció addicional de WooCommerce
* --------------------------
*
* Canvia el número de les columnes de producte a les pàgines de la botiga
*
* /
function woo_product_columns_frontend () {
$ $ woocommerce global;
// El valor per defecte també s'utilitza per a les categories i subcategories
$ column = 4;
// Llista de productes
if (is_product_category ()):
$ column = 4;
endif;
//Productes relacionats
if (is_product ()):
$ column = 2;
endif;
// Venda creuada
if (is_checkout ()):
$ column = 4;
endif;
retornar $ columnes;
}
add_filter ('loop_shop_columns', 'woo_product_columns_frontend');
15 – Desactiveu les pestanyes WooCommerce
/ **
* Elimineu les pestanyes de producte
*
* /
function woo_remove_product_tab ($ tabs) {
unset ($ pestanyes ['descripció']); // Elimina la pestanya de descripció
unset ($ pestanyes ['comentaris']); // Elimina la pestanya de ressenyes
unset ($ pestanyes ['informació addicional']); // Elimineu la pestanya informació addicional
retornar les pestanyes $;
}
add_filter ('woocommerce_product_tabs', 'woo_remove_product_tab', 98);
16 – Traieu el pa ratllat
/ **
* Elimineu WooCommerce BreadCrumb
*
* /
remove_action ('woocommerce_before_main_content', 'woocommerce_breadcrumb', 20);
17 – Restringiu la llista de països d’enviament
/ **
* Funció addicional de WooCommerce
* --------------------------
*
* Restringiu la llista de països d’enviament
*
* /
function woo_override_checkout_fields ($ camps) {
$ camps ['shipping'] ['shipping_country'] = matriu (
'type' => 'seleccionar',
'label' => __ ('La meva llista de país nou', 'woocommerce'),
'options' => array ('AU' => 'Austràlia')
);
retornar $ camps;
}
add_filter ('woocommerce_checkout_fields', 'woo_override_checkout_fields');
18 – Reemplaça “Gratuït!” cadena de producte
/ **
* Funció addicional de WooCommerce
* --------------------------
*
* Reemplaçar "Gratuït!" per una cadena personalitzada
*
* /
function woo_my_custom_free_message () {
retorna "Aquest producte és GRATU !T!";
}
add_filter ('woocommerce_free_price_html', 'woo_my_custom_free_message');
19 – Amagueu tots els altres mètodes d’enviament quan estigui disponible l’enviament gratuït
// Oculta TOTES les opcions d'enviament quan hi hagi enviament gratuït
add_filter ('woocommerce_available_shipping_methods', 'hide_all_shipping_when_free_is_available', 10, 1);
/ **
* Oculta TOTA l’opció d’enviament quan estigui disponible l’enviament gratuït
*
* Matriu @param $ disponible_metodes
* /
function hide_all_shipping_when_free_is_available ($ available_methods) {
if (isset ($ disponible_methods ['free_shipping']))):
// Obtén una matriu d’enviament gratuït en una nova matriu
$ freeshipping = matriu ();
$ freeshipping = $ available_methods ['free_shipping'];
// Buideu la matriu $ disponible_methods
unset ($ disponibles_metodes);
// Afegeix l'enviament gratuït a $ avaialble_methods
$ available_methods = array ();
$ available_methods [] = $ freeshipping;
endif;
retornar $ disponible_methods;
}
20 – Feu que el camp “estat” no sigui obligatori
/ **
* Funció addicional de WooCommerce
* --------------------------
*
* Feu que el camp "estat" no sigui obligatori a la caixa
*
* /
add_filter ('woocommerce_billing_fields', 'woo_filter_state_billing', 10, 1);
add_filter ('woocommerce_shipping_fields', 'woo_filter_state_shipping', 10, 1);
function woo_filter_state_billing ($ address_fields) {
$ address_fields ['billing_state'] ['obligatori'] = fals;
retornar $ address_fields;
}
function woo_filter_state_shipping ($ address_fields) {
$ address_fields ['shipping_state'] ['obligatori'] = fals;
retornar $ address_fields;
}
21 – Crea programalment un cupó
$ coupon_code = 'UNIQUECODE'; // Codi
$ import = '10'; // Quantitat
$ discount_type = 'fix_cart'; // Tipus: fix_cart, percentatge, fix_producte, percentatge_producte
$ cupó = matriu (
'post_title' => $ cupó_code,
'post_content' => '',
'post_status' => 'publicar',
'post_author' => 1,
'post_type' => 'shop_coupon'
);
$ new_coupon_id = wp_insert_post ($ cupó);
// Afegeix meta
update_post_meta ($ new_coupon_id, 'discount_type', $ discount_type);
update_post_meta ($ new_coupon_id, "cupó_amount", $ import);
update_post_meta ($ new_coupon_id, 'individual_use', 'no');
update_post_meta ($ new_coupon_id, 'product_ids', '');
update_post_meta ($ new_coupon_id, 'exclude_product_ids', '');
update_post_meta ($ new_coupon_id, 'usage_limit', '');
update_post_meta ($ new_coupon_id, 'data de caducitat', '');
update_post_meta ($ new_coupon_id, 'apply_before_tax', 'sí');
update_post_meta ($ new_coupon_id, 'free_shipping', 'no');
22 – Canvieu les línies d’assumpte de correu electrònic
/ *
* Filtres de matèries:
* woocommerce_email_subject_new_order
* woocommerce_email_subject_customer_procesing_order
* woocommerce_email_subject_customer_completed_order
* woocommerce_email_subject_customer_invoice
* woocommerce_email_subject_customer_note
* woocommerce_email_subject_low_stock
* woocommerce_email_subject_no_stock
* woocommerce_email_subject_backorder
* woocommerce_email_subject_customer_new_account
* woocommerce_email_subject_customer_invoice_paid
** /
add_filter ('woocommerce_email_subject_new_order', 'change_admin_email_subject', 1, 2);
function change_admin_email_subject ($ subject, $ comanda) {
$ $ woocommerce global;
$ blogname = wp_specialchars_decode (get_option ('blogname'), ENT_QUOTES);
$ subject = sprintf ('[% s] Nova comanda del client (#% s) del nom% s% s', $ blogname, $ order-> id, $ order-> billing_first_name, $ order-> billing_last_name);
retornar $ subjecte;
}
23 – Afegeix una quota personalitzada al carretó
/ **
* Funció addicional de WooCommerce
* --------------------------
*
* Afegir tarifes personalitzades al carret automàticament
*
* /
funció woo_add_cart_fee () {
$ $ woocommerce global;
if (is_cart ()) {
$ woocommerce-> cart-> add_fee (__ ('Personalitzat', 'woocommerce'), 5);
}
}
add_action ('woocommerce_before_cart_table', 'woo_add_cart_fee');
24: personalització afegida al missatge del carretó
/ **
* Missatges personalitzats
* Afegiu-ho al vostre fitxer funcions.php
** /
add_filter ('woocommerce_add_to_cart_message', 'custom_add_to_cart_message');
function custom_add_to_cart_message () {
$ $ woocommerce global;
// Sortir missatges d’èxit
if (get_option ('woocommerce_cart_redirect_after_add') == 'sí'):
$ return_to = obtenir_permalink (woocommerce_get_page_id ("botiga"));
$ message = sprintf ('% s % s ', $ return_to, __ (' Continuar comprant → ',' woocommerce '), __ (' Producte afegit amb èxit al vostre carret. ',' woocommerce '));
més:
$ message = sprintf ('% s % s ', get_permalink (woocommerce_get_page_id (' carret ')), __ (' Veure cistell → ',' woocommerce '), __ (' Producte afegit amb èxit al vostre carret. ',' woocommerce '));
endif;
retornar el missatge $;
}
25 – Afegiu un mètode de pagament al correu electrònic d’administració
/ **
* Funció addicional de WooCommerce
* --------------------------
*
* Afegeix un mètode de pagament a un correu electrònic de comanda nou
*
* /
add_action ("woocommerce_email_after_order_table", "woo_add_payment_method_to_admin_new_order", 15, 2);
function woo_add_payment_method_to_admin_new_order ($ comanda, $ is_admin_email) {
if ($ is_admin_email) {
ressò 'Mètode de pagament: '. $ order-> pagament_method_title. '
';
}
}
I auge! Això és! Espero que us agradin aquests fragments Si teniu suggeriments, no dubteu a deixar cap comentari a continuació!
No teniu cap tema preparat per WooCommerce o en voleu un de nou? Assegureu-vos de veure el tema total de WordPress!
Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.