Mis 25 mejores fragmentos de WooCommerce para WordPress Parte 2

  1. 1. Mis 25 mejores fragmentos de WooCommerce para WordPress
  2. 2. Actualmente leyendo: Mis 25 mejores fragmentos de WooCommerce para WordPress Parte 2

Hace unos días escribí una publicación en la que enumeraba 25 de los fragmentos de WooCommerce más útiles que utilizo y fueron muchas personas para pedir más, así que hoy decidí proporcionar algunos fragmentos más para WooCommerce! Aquí vamos!

1 – Reemplazar el logotipo de PayPal predeterminado de WooCommerce

/ *
* Reemplazar el icono de PayPal predeterminado de WooCommerce
* /
función paypal_checkout_icon () {
regrese 'https://www.paypalobjects.com/webstatic/mktg/logo-center/logo_betalen_met_paypal_nl.jpg'; // escribe tu propia URL de imagen aquí
}
add_filter ('woocommerce_paypal_icon', 'paypal_checkout_icon');

2 – Reemplazar imagen de marcador de posición de producto predeterminada

/ *
* va en el tema functions.php o un complemento personalizado. Reemplace el nombre de archivo / ruta de la imagen con el suyo 🙂
* *
** /
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 = $ cargas. '/2012/07/thumb1.jpg';

return $ src;
}
}

3 – Eliminar “Productos” de la ruta de navegación

/ *
* Ocultar "Productos" en la ruta de navegación de WooCommerce
* /
función woo_custom_filter_breadcrumbs_trail ($ trail) {
foreach ($ trail como $ k => $ v) {
if (strtolower (strip_tags ($ v)) == 'productos') {
sin establecer ($ trail [$ k]);
rotura;
}
}

return $ trail;
}

add_filter ('woo_breadcrumbs_trail', 'woo_custom_filter_breadcrumbs_trail', 10);

4 – Carrito vacío

/ *
* Carro de WooCommerce vacío
* /
function my_empty_cart () {
global $ woocommerce;
$ woocommerce-> cart-> empty_cart ();
}
add_action ('init', 'my_empty_cart');

5 – Agregar automáticamente el producto al carrito en la visita

/ *
* Agregar artículo al carrito de visita
* /
función add_product_to_cart () {
if (! is_admin ()) {
global $ woocommerce;
$ product_id = 64;
$ encontrado = falso;
// verifica si el producto ya está en el carrito
if (sizeof ($ woocommerce-> cart-> get_cart ())> 0) {
foreach ($ woocommerce-> cart-> get_cart () como $ cart_item_key => $ values) {
$ _product = $ valores ['datos'];
if ($ _product-> id == $ product_id)
$ encontrado = verdadero;
}
// si no se encuentra el producto, agréguelo
si (! $ encontrado)
$ woocommerce-> cart-> add_to_cart ($ product_id);
} más {
// si no hay productos en el carrito, agréguelo
$ woocommerce-> cart-> add_to_cart ($ product_id);
}
}
}
add_action ('init', 'add_product_to_cart');

6 – Agregar una moneda / símbolo personalizado

add_filter ('woocommerce_currencias', 'add_my_currency');

función add_my_currency ($ monedas) {
$ monedas ['ABC'] = __ ('Nombre de moneda', 'woocommerce');
devolver $ monedas;
}

add_filter ('woocommerce_currency_symbol', 'add_my_currency_symbol', 10, 2);

función add_my_currency_symbol ($ currency_symbol, $ currency) {
cambiar ($ moneda) {
case 'ABC': $ currency_symbol = '$'; rotura;
}
return $ currency_symbol;
}

7 – Cambiar el texto del botón Agregar al carrito

/ **
* Cambiar el texto de agregar al carrito en páginas de productos individuales
* /
función woo_custom_cart_button_text () {
return __ ('Texto de mi botón', 'woocommerce');
}
add_filter ('single_add_to_cart_text', 'woo_custom_cart_button_text');



/ **
* Cambiar el texto de agregar al carrito en los archivos del producto
* /
función woo_archive_custom_cart_button_text () {
return __ ('Texto de mi botón', 'woocommerce');
}
add_filter ('add_to_cart_text', 'woo_archive_custom_cart_button_text');

8 – Redirigir suscripción agregar al carrito a la página de pago

/ **
* Redirigir suscripción agregar al carrito a la página de pago
* *
* @param string $ url
* /
function custom_add_to_cart_redirect ($ url) {

$ product_id = (int) $ _REQUEST ['add-to-cart'];
if (class_exists ('WC_Subscriptions_Product')) {
if (WC_Subscriptions_Product :: is_subscription ($ product_id)) {
return get_permalink (get_option ('woocommerce_checkout_page_id'));
} más devolver $ url;
} más devolver $ url;

}
add_filter ('add_to_cart_redirect', 'custom_add_to_cart_redirect');

Este fragmento requiere el complemento Suscripciones.

9 – Redireccionar a la página de pago después de agregar al carrito

/ **
* Redirigir suscripción agregar al carrito a la página de pago
* *
* @param none
* /
función 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 todos los correos electrónicos

 / **
* Característica adicional de WooCommerce
* * --------------------------
* *
* Agregue otro destinatario de correo electrónico a todos los correos electrónicos de WooCommerce
* *
* /
función woo_cc_all_emails () {
devuelva 'Bcc: [email protected]'. "\ r \ n";
}
add_filter ('woocommerce_email_headers', 'woo_cc_all_emails');

11 – Enviar un correo electrónico cuando se complete un nuevo pedido con cupones utilizados

/ **
* Característica adicional de WooCommerce
* * --------------------------
* *
* Enviar un correo electrónico cada vez que se complete un pedido con cupones
* El correo electrónico contiene cupones utilizados durante el proceso de pago
* *
* /
function woo_email_order_coupons ($ order_id) {
$ order = nuevo WC_Order ($ order_id);

if ($ order-> get_used_coupons ()) {

$ to = '[email protected]';
$ subject = 'Nuevo pedido completado';
$ headers = 'De: Mi nombre'. "\ r \ n";

$ message = 'Se ha completado un nuevo pedido. \ n';
$ message. = 'ID de pedido:'. $ order_id. '\ n';
$ mensaje. = 'Cupones utilizados: \ n';

foreach ($ order-> get_used_coupons () como $ cupón) {
$ mensaje. = $ cupón. '\ n';
}
@wp_mail ($ a, $ asunto, $ mensaje, $ encabezados);
}
}
add_action ('woocommerce_thankyou', 'woo_email_order_coupons');

12 – Cambiar número de productos relacionados

/ **
* Característica adicional de WooCommerce
* * --------------------------
* *
* Cambiar el número de productos relacionados en la página del producto
* Establezca su propio valor para 'posts_per_page'
* *
* /
function woo_related_products_limit () {
$ global product;

$ args = array (
'post_type' => 'producto',
'no_found_rows' => 1,
'posts_per_page' => 6,
'ignore_sticky_posts' => 1,
'orderby' => $ orderby,
'post__in' => $ relacionado,
'post__not_in' => array ($ producto-> id)
);
devolver $ args;
}
add_filter ('woocommerce_related_products_args', 'woo_related_products_limit');

13 – Excluir productos de una categoría particular en la página de la tienda

 / **
* Eliminar productos de la página de la tienda por categoría
* *
* /
función woo_custom_pre_get_posts_query ($ q) {

if (! $ q-> is_main_query ()) return;
if (! $ q-> is_post_type_archive ()) return;

if (! is_admin () && is_shop ()) {

$ q-> set ('tax_query', array (array (
'taxonomy' => 'product_cat',
'field' => 'slug',
'terms' => array ('shoes'), // No mostrar productos en la categoría de zapatos en la página de la tienda
'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 – Cambiar el número de columnas de la tienda

/ **
* Característica adicional de WooCommerce
* * --------------------------
* *
* Cambiar el número de columnas del producto en las páginas de la tienda
* *
* /
función woo_product_columns_frontend () {
global $ woocommerce;

// Valor predeterminado también utilizado para categorías y subcategorías
$ columnas = 4;

// Lista de productos
if (is_product_category ()):
$ columnas = 4;
terminara si;

//Productos relacionados
if (es_producto ()):
$ columnas = 2;
terminara si;

// Ventas cruzadas
if (es_checkout ()):
$ columnas = 4;
terminara si;

devolver $ columnas;
}
add_filter ('loop_shop_columns', 'woo_product_columns_frontend');

15 – Deshabilitar pestañas de WooCommerce

 / **
* Eliminar pestañas del producto
* *
* /
function woo_remove_product_tab ($ tabs) {

unset ($ tabs ['descripción']); // Eliminar la pestaña de descripción
unset ($ tabs ['reseñas']); // Eliminar la pestaña de comentarios
unset ($ tabs ['información_ adicional']); // Eliminar la pestaña de información adicional

devolver $ pestañas;

}
add_filter ('woocommerce_product_tabs', 'woo_remove_product_tab', 98);

16 – Eliminar la miga de pan

 / **
* Eliminar WooCommerce BreadCrumb
* *
* /
remove_action ('woocommerce_before_main_content', 'woocommerce_breadcrumb', 20);

17 – Restringir la lista de países de envío

/ **
* Característica adicional de WooCommerce
* * --------------------------
* *
* Restringir la lista de países de envío
* *
* /
función woo_override_checkout_fields ($ fields) {

$ fields ['shipping'] ['shipping_country'] = array (
'type' => 'seleccionar',
'label' => __ ('Mi nueva lista de países', 'woocommerce'),
'options' => array ('AU' => 'Australia')
);

devolver $ campos;
}
add_filter ('woocommerce_checkout_fields', 'woo_override_checkout_fields');

18 – Reemplazar “¡Gratis!” cadena de producto

/ **
* Característica adicional de WooCommerce
* * --------------------------
* *
* Reemplazar "Gratis!" por una cadena personalizada
* *
* /
función woo_my_custom_free_message () {
volver "¡Este producto es GRATIS!";
}

add_filter ('woocommerce_free_price_html', 'woo_my_custom_free_message');

19 – Ocultar TODOS los demás métodos de envío cuando el envío gratuito esté disponible

// Ocultar TODAS las opciones de envío cuando esté disponible el envío gratuito
add_filter ('woocommerce_available_shipping_methods', 'hide_all_shipping_when_free_is_available', 10, 1);

/ **
* Ocultar TODAS las opciones de envío cuando el envío gratuito esté disponible
* *
* @param array $ available_methods
* /
función hide_all_shipping_when_free_is_available ($ available_methods) {

if (isset ($ available_methods ['free_shipping'])):

// Obtenga una matriz de envío gratuito en una nueva matriz
$ freeshipping = array ();
$ freeshipping = $ available_methods ['free_shipping'];

// Vaciar la matriz $ available_methods
unset ($ métodos_disponibles);

// Agregar envío gratis de nuevo a $ avaialble_methods
$ available_methods = array ();
$ available_methods [] = $ envío gratuito;

terminara si;

return $ available_methods;
}

20 – No se requiere el campo “estado” de pago

/ **
* Característica adicional de WooCommerce
* * --------------------------
* *
* Hacer que el campo "estado" no sea obligatorio al finalizar la compra
* *
* /

add_filter ('woocommerce_billing_fields', 'woo_filter_state_billing', 10, 1);
add_filter ('woocommerce_shipping_fields', 'woo_filter_state_shipping', 10, 1);

función woo_filter_state_billing ($ address_fields) {
$ address_fields ['billing_state'] ['required'] = false;
return $ address_fields;
}

función woo_filter_state_shipping ($ address_fields) {
$ address_fields ['shipping_state'] ['required'] = false;
return $ address_fields;
}

21 – Crea un cupón programáticamente

$ coupon_code = 'UNIQUECODE'; // Código
$ monto = '10'; // Cantidad
$ discount_type = 'fixed_cart'; // Tipo: fixed_cart, percent, fixed_product, percent_product

$ cupón = matriz (
'post_title' => $ código_cupón,
'post_content' => '',
'post_status' => 'publicar',
'post_author' => 1,
'post_type' => 'shop_coupon'
);

$ new_coupon_id = wp_insert_post ($ cupón);

// Añadir meta
update_post_meta ($ new_coupon_id, 'discount_type', $ discount_type);
update_post_meta ($ new_coupon_id, 'coupon_amount', $ monto);
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, 'use_limit', '');
update_post_meta ($ new_coupon_id, 'expiry_date', '');
update_post_meta ($ new_coupon_id, 'apply_before_tax', 'yes');
update_post_meta ($ new_coupon_id, 'free_shipping', 'no');

22 – Cambiar las líneas de asunto del correo electrónico

/ *
* Filtros de materias:
* 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);

función change_admin_email_subject ($ subject, $ order) {
global $ woocommerce;

$ blogname = wp_specialchars_decode (get_option ('blogname'), ENT_QUOTES);

$ subject = sprintf ('[% s] Nuevo pedido de cliente (#% s) de Name% s% s', $ blogname, $ order-> id, $ order-> billing_first_name, $ order-> billing_last_name);

devolver $ sujeto;
}

23 – Agregar tarifa personalizada al carrito

/ **
* Característica adicional de WooCommerce
* * --------------------------
* *
* Agregar tarifa personalizada al carrito automáticamente
* *
* /
función woo_add_cart_fee () {

global $ woocommerce;

if (is_cart ()) {
$ woocommerce-> cart-> add_fee (__ ('Personalizado', 'woocommerce'), 5);
}

}
add_action ('woocommerce_before_cart_table', 'woo_add_cart_fee');

24 – Mensaje personalizado agregado al carrito

/ **
* Mensajes personalizados para agregar al carrito
* Agregue esto a su archivo de funciones tema.php
** /
add_filter ('woocommerce_add_to_cart_message', 'custom_add_to_cart_message');
function custom_add_to_cart_message () {
global $ woocommerce;

// Salida de mensajes de éxito
if (get_option ('woocommerce_cart_redirect_after_add') == 'sí'):

$ return_to = get_permalink (woocommerce_get_page_id ('tienda'));

$ mensaje = sprintf ('% s % s ', $ return_to, __ (' Continuar comprando → ',' woocommerce '), __ (' Producto agregado exitosamente a su carrito ',' woocommerce '));

más:

$ mensaje = sprintf ('% s % s ', get_permalink (woocommerce_get_page_id (' carrito ')), __ (' Ver carrito → ',' woocommerce '), __ (' Producto agregado con éxito a su carrito ',' woocommerce '));

terminara si;

devolver $ mensaje;
}

25 – Agregar método de pago al correo electrónico del administrador

/ **
* Característica adicional de WooCommerce
* * --------------------------
* *
* Agregar método de pago para administrar el correo electrónico del nuevo pedido
* *
* /
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 ($ order, $ is_admin_email) {
if ($ is_admin_email) {
eco '

Método de pago: '. $ order-> payment_method_title. '

'; } }

¡Y bum! ¡Eso es! Espero que te gusten estos fragmentos. Si tiene alguna sugerencia, no dude en dejar un comentario a continuación.!


¿No tienes un tema listo para WooCommerce o no quieres uno nuevo? Asegúrese de revisar nuestro tema Total de WordPress!

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me