Filtro para renombrar las pestañas de producto en WooCommerce

Funciones útiles para WooCommerce III

Volvemos una vez más con una función para WooCommerce sencilla de ejecutar y de entender.

Lo primero es definir la función dentro del archivo function.php de tu tema personalizado o de tu Child-Theme si es un tema comercial.

function woo_rename_tabs( $tabs ) {

 global $product;

    $tabs['description']['title']                   = __( 'Precios', 'nombre_de_tu_tema' );               // description tab
    $tabs['reviews']['title']                       = __( 'Opiniones', 'nombre_de_tu_tema' );             // reviews tab
    if( $product->has_attributes() || $product->has_dimensions() || $product->has_weight() ) {  // Check if product has attributes, dimensions or weight
        $tabs['additional_information']['title']    = __( 'Características', 'nombre_de_tu_tema' );       // additional information tab
    }

    return $tabs;
}

Esta función, al ser un 'add_filter', recibe un parámetro (el objeto $tabs) que devolvemos después de modificarlo. Para entenderlo mejor, imaginaos una cinta transportadora que lleva coches de juguetes del punto A al punto B. Nosotros interceptamos un juguete en esa cinta, le cambiamos las ruedas por unas mas grandes (lo modificamos) y lo devolvemos a la cinta para que continúe su camino.
Después de definir la función tenemos que anclarla a algún hook. En este caso vamos a usar el hook de WooCommerce 'woocommerce_product_tabs' quedando de la siguiente forma:

add_filter( 'woocommerce_product_tabs', 'woo_rename_tabs', 98, 1 );

Hay una opción más sencilla si sabes usar Poedit que consiste simplemente en cambiar la traducción.

Pues eso es todo en esta entrada. Espero que la pongáis en práctica y recordad: Sólo se aprende rompiendo y destripando el código. ¡Practica!.

Compartidlo si lo veis útil.

Marcar entradas en el backend con colores

Funciones útiles para WooCommerce II

Continuamos con una nueva entrega de funciones útiles para el plugin de comercio electrónico más utilizado para WordPress.

Esta vez vamos a ver cómo cambiar los colores de nuestras entradas en el backend, haciendo que las entradas en borrador tengan el fondo rojo, las que están en pendientes tengan el fondo amarillo y las privadas en azul.

Lo primero es definir la función dentro del archivo function.php de tu tema personalizado o de tu Child-Theme si es un tema comercial:

function posts_status_color() {
?>
  <style>
  .status-draft { background: #FF9191 !important; }
  .status-pending { background: #FEFF96 !important; }
  .status-publish { /* por defecto */ }
  .status-private { background: #A4AAFC!important;}
  </style>
<?php
}

Con esta función, sobreescribimos los estilos por defecto añadiéndoles nuestro propio estilo.
Después tenemos que «enganchar» esa función a algún hook. En este caso utilizaremos el hook 'admin_footer' de la siguiente forma:

add_action('admin_footer','posts_status_color');

Este 'add_action' añade la función establecida en el segundo parámetro 'posts_status_color' a la función del core 'admin_footer', creando una mini hoja de estilos al final de la carga del backend y sobreescribiendo esos cuatro estilos.

Pues eso es todo en esta entrada. Espero que la pongáis en práctica y recordad: Sólo se aprende rompiendo y destripando el código. ¡Practica!.

Compartidlo si lo veis útil.

Reordenar las pestañas de las fichas de producto en WooCommerce

Funciones útiles para Woocommerce

He estado bastante tiempo sin escribir por una colaboración en un gran proyecto.

La parte más positiva (a parte de la gente que he conocido) es la cantidad de funciones útiles para el desarrollo de tiendas con WooCommerce. He decidido publicar y explicar un par de funciones a la semana.

Estas publicaciones me servirán a modo de documentación (tengo por ahí un montón de archivos con funciones útiles desordenadas y apenas comentadas), pero también espero que le sirva a más gente (como tú) que esté buscando cómo cambiar el logo de la página de login de WordPress, o cómo mostrar atributos de manera distinta para unos productos u otros.

Esta primera función será sencilla y sirve para reordenar las pestañas de las fichas de producto.

WooCommerce tiene tres pestañas por defecto en la ficha de productos: «Descripción», «Información adicional» y «Opiniones» y las muestra en ese orden por defecto.

Bien, pues podemos cambiarlo de varias formas, pero incorporando éste script al functions.php del tema que estéis creando o modificando (bueno, si modificáis un tema comercial, mejor crear un childtheme para hacerlo, pero eso ya lo explicaré en otro post), no habrá problemas y no tenéis que sobreescribir el archivo original de WooCommerce (content-single-product.php)

/* ************************************************************************************
Filtro para reordenar las pestañas de la ficha de producto
************************************************************************************
*/
add_filter( 'woocommerce_product_tabs', 'woo_reorder_tabs', 98 );

function woo_reorder_tabs( $tabs ) {

$tabs['additional_information']['priority'] = 10; // Información adicional 1º
$tabs['description']['priority'] = 15;            // Descripción 2º
$tabs['reviews']['priority'] = 20;                // Opiniones 3º

return $tabs;
}

Con este script lo que hacemos es usar un hook de WooCommerce para cambiar los parámetros de la función original donde $tabs son los parámetros de las pestañas y 10, 15, 20 los valores. A menor valor, mayor prioridad. De esta forma el 10 es la primera pestaña, el 15 es la segunda y el 20 es la tercera, devolviendo esos nuevos valores para los parámetros y mostrándonos el nuevo orden.

Pues eso es todo en esta entrada. Espero que la pongáis en práctica y recordad: Sólo se aprende rompiendo y destripando el código. ¡Practica!.

Compartidlo si lo veis útil.