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
    Like this post? Please share to your friends:
    Adblock
    detector
    map