Cómo añadir elementos a la barra de administración de WordPress

La barra de herramientas de admin de WordPress es tremendamente práctica, pues te permite acceder rápidamente a zonas de la administración de tu WordPress desde cualquier pantalla, incluso mientras estás viendo tu web.

Por defecto, no solo te permite cambiar rápidamente de la administración a la portada de tu web, también te ayuda a añadir nuevas entradas rápidamente, editar una que estés viendo, modificar tu perfil de usuario, y con el paso de los plugins más cosas.

Pero esto ya lo sabías ¿verdad?

Lo que quizás no sabías es que puedes añadir a la barra de herramientas de admininstración de WordPress más elementos, personalizados según tus necesidades, y es bastante fácil de conseguir.

Cómo añadir un elemento a la barra de admin de WordPress

Por ejemplo, para añadir un nuevo elemento a la barra de admin que lleve directamente a la pantalla de salud del sitio de WordPress el código que necesitarías sería así:

/* Salud del sitio en barra admin wp */
add_action( 'admin_bar_menu', 'ayudawp_nuevo_elemento_admin', 999 );
function ayudawp_nuevo_elemento_admin( $wp_admin_bar ) {
	$args = array(
		'id'    => 'salud_en_menu',
		'title' => 'Salud del sitio',
		'href'  => admin_url() . 'site-health.php',
	);
	$wp_admin_bar->add_node( $args );
}

Este código puedes añadirlo al final del archivo functions.php del tema activo o a un plugin que tengas para personalizar aspectos de WordPress, como siempre.

Y, mágicamente, aparecerá el nuevo elemento en tu barra de admin.

Y, por supuesto, al hacer clic te llevará a la herramienta de salud del sitio.

Chulo y práctico ¿eh?

La magia ocurre gracias a la función

add_node()

. En el Codex tienes todos los elementos básicos que puedes usar.

Para añadir tus nuevos elementos a la barra de admin tienes que usar el gancho 

admin_bar_menu

, y en el ejemplo he utilizado la prioridad de 999 para que mi nuevo elemento sea el último de la barra de herramientas, un toque básico de personalización.

¿Nos animamos un poco?

Cómo añadir un menú desplegable a la barra de admin de WordPress

Un paso más sería crear nuestro propio menú en la barra de herramientas de admin de WordPress, con subelementos que lleven a algunas páginas que queramos tener a mano fácilmente desde cualquier parte.

Lo mejor de hacerlo así es que si quieres añadir varios elementos no ocuparás toda la barra de admin, solo se mostrará un menú, con los elementos desplegables.

Esto lo ves a menudo con los menús que añaden plugins como Yoast SEO y otros.

Pues bien, en este caso usaríamos un código así:

/* Menu personalizado desplegable para RGPD en barra admin de wp */
add_action( 'admin_bar_menu', 'menu_rgpd_admin', 999 );

function menu_rgpd_admin( $wp_admin_bar ) {
	$args = array(
		'id'    => 'menu_privacidad',
		'title' => 'Privacidad',
		'href'  => admin_url() . 'options-privacy.php',
	);
	$wp_admin_bar->add_node( $args );

	$args = array(
		'id'    => 'salud_del_sitio',
		'title' => 'Salud del sitio',
		'href'  => admin_url() . 'site-health.php',
		'parent' => 'menu_privacidad'
	);
	$wp_admin_bar->add_node( $args );

	$args = array(
		'id'    => 'exportar_datos',
		'title' => 'Exportar datos personales',
		'href'  => admin_url() . 'export-personal-data.php',
		'parent' => 'menu_privacidad'
	);
	$wp_admin_bar->add_node( $args );

	$args = array(
		'id'    => 'borrar_datos',
		'title' => 'Borrar datos personales',
		'href'  => admin_url() . 'erase-personal-data.php',
		'parent' => 'menu_privacidad'
	);
	$wp_admin_bar->add_node( $args );

}

En este ejemplo he creado un menú en el que acoger ajustes de privacidad de la web, para cumplir con mis obligaciones con la RGPD, en el que el elemento principal lleva a los ajustes de privacidad, y en el submenú he incluido enlaces a la salud del sitio, y a las herramientas de exportación y borrado de datos personales de usuarios.

El menú quedaría así de mono…

Y lo mejor es que estará disponible en todo momento desde la barra de herramientas de administración de WordPress, a mi servicio, o al tuyo.

Como habrás visto en el código (y sino te fijas ahora) se usa el parámetro

parent

para configurar las listas jerárquicas de enlaces.

La cadena que uses en el parámetro

parent

tendrá que ser, lógicamente, un

id

que ya hayas definido previamente.

¡Pues ya está!

Te dejo este ejercicio de tarea para el fin de semana, para que te animes y aprendas algo más a personalizar tu WordPress.

Este tipo de menús personalizados son una pequeña joya que, sobre todo cuando haces webs para clientes, aportan un plus de gusto por el detalle, que tus clientes suelen apreciar.

La entrada Cómo añadir elementos a la barra de administración de WordPress la publicó primero Fernando Tellado en Ayuda WordPress. No copies contenido, no dice nada bueno de ti a tus lectores.

Tutorial Divi rápido: Cómo ocultar la cabecera al hacer scroll

Un efecto muy chulo que me pidió un cliente hace poco es que la cabecera de una web hecha con Divi se ocultase totalmente al hacer scroll el usuario, al navegar por la página.

No me refiero a ocultar el menú principal de Divi ni a ocultar la barra secundaria de Divi al hacer scroll, que es algo que ya vimos en tutoriales anteriores, sino a ocultar la cabecera completamente, con todo lo que contenga.

La solución es bien sencilla, solo hay que añadir una línea de CSS.

Abres el personalizador de temas de WordPress (Apariencia > Personalizar > CSS adicional) y añades esto:

/* Ocultar cabecera fija al hacer scroll */
  .et-fixed-header { display:none; }

Cuando publiques los cambios la cabecera se ocultará totalmente en cuando el usuario navegue por la web, como puedes ver en el siguiente vídeo…

Y ya está. Fácil ¿eh?

La entrada Tutorial Divi rápido: Cómo ocultar la cabecera al hacer scroll la publicó primero Fernando Tellado en Ayuda WordPress. No copies contenido, no dice nada bueno de ti a tus lectores.

WooCommerce: Descuentos exclusivos solo a clientes

¿Alguna vez has pensado en aplicar la política de precios a clientes como estrategia de fidelización? Pues que sepas que es una herramienta muy potente, si la sabes aprovechar.

¿Qué gano aplicando descuentos a clientes?

Tanto si te planteas una estrategia de descuentos a clientes que ya han hecho alguna compra, como si simplemente estás valorando fomentar el registro de clientes aunque aún no hayan hecho ninguna compra, debes saber que puede ser un potenciador importante de ventas.

Algunos de los Ecommerce más famosos utilizan esta estrategia para fidelizar clientes y fomentar ventas.

Porque cuando eres capaz de generar una gran base de clientes gracias a descuentos exclusivos para ellos dispones de una potentísima base de usuarios a los que animar a realizar más compras, ya sea desde una newsletter o simplemente desde su cuenta de usuario.

Está más que demostrado el enorme potencial de incitar al registro, a la membresía, para obtener descuentos exclusivos para clientes registrados, la mayoría de las tiendas online de venta privada lo utilizan con éxito.

¿Cuál es el primer paso?

El primer paso es conseguir que los visitantes se registren para obtener los descuentos exclusivos solo para clientes.

Esto lo puedes conseguir de manera tan sencilla como el aviso de tienda que viene en toda instalación de WooCommerce por defecto.

Simplemente personalízalo para animar a los visitantes a registrarse para obtener el descuento exclusivo para clientes.

Eso sí, como les estás animando a registrarse en la página de cuenta de tu tienda online debes asegurarte de que se permita el registro, algo que consigues con este ajuste de WooCommerce…

Tienes el ajuste en WooCommerce > Ajustes > Cuentas y privacidad.

Una vez activo, cuando un usuario visite la página de «Mi cuenta» podrá acceder si ya era cliente o registrarse como nuevo cliente.

Para finalizar, asegúrate de que en los ajustes generales de WordPress marcar el perfil de «Cliente» como perfil usuario por defecto.

¿Cómo aplico descuentos en WooCommerce a los usuarios registrados?

¡Hechos los preliminares vamos al lío!

Hay dos maneras fundamentalmente con las que puedes aplicar descuentos a tus clientes ya registrados, que estén conectados claro.

Aplicar descuentos a clientes con un código

Mira tú por dónde hay un código que te facilita esto y mucho, este:

/* Parte 1 - Producto de WooCommerce */
add_filter( 'woocommerce_get_price_html', 'ayudawp_descuento_clientes_producto', 9999, 2 );
function ayudawp_descuento_clientes( $price_html, $product ) {
    // SOLO EN LA TIENDA
    if ( is_admin() ) return $price_html;
    // SOLO SI NO HAY PRECIO
    if ( '' === $product->get_price() ) return $price_html;
    // SI EL CLIENTE ESTÁ CONECTADO APLICAR 20% DE DESCUENTO   
    if ( wc_current_user_has_role( 'customer' ) ) {
        $orig_price = wc_get_price_to_display( $product );
        $price_html = wc_price( $orig_price * 0.80 );
    }
    return $price_html;
}
/* Parte 2 - Carrito y finalizar compra */
add_action( 'woocommerce_before_calculate_totals', 'ayudawp_descuento_clientes_carrito', 9999 );
function ayudawp_descuento_clientes_carrito( $cart ) {
    if ( is_admin() && ! defined( 'DOING_AJAX' ) ) return;
    if ( did_action( 'woocommerce_before_calculate_totals' ) >= 2 ) return;
    // SI EL CLIENTE NO ESTA CONECTADO NO SE APLICA DESCUENTO
    if ( ! wc_current_user_has_role( 'customer' ) ) return;
    // LOOP POR PRODUCTOS DEL CARRITO Y APLICAR DESCUENTO 20%
    foreach ( $cart->get_cart() as $cart_item_key => $cart_item ) {
        $product = $cart_item['data'];
        $price = $product->get_price();
        $cart_item['data']->set_price( $price * 0.80 );
    }
}

Este código aplica un 20% de descuento (

$orig_price * 0.80

) a cada producto o a todo el carrito si el usuario tiene el perfil de cliente (

customer

) y está conectado.

En caso contrario muestra al visitante el precio normal que hayas introducido al crear el producto, descuentos normales incluidos si los tuviese.

O sea, que un visitante normal vería así un producto:

Mientras que el cliente conectado lo vería con el descuento del 20% añadido, así:

Como siempre, el código anterior puedes añadirlo al final del archivo functions.php del tema activo o a tu plugin de personalizaciones.

Aplicar descuentos a clientes con plugins

Hay varios plugins que permiten hacer personalizaciones de este tipo en WooCommerce, incluso los encontrarás en el directorio de WordPress.org, pero ninguno gratuito, la personalización de precios por tipo de usuario es siempre una opción premium.

Y de los plugins que ofrecen estas personalizaciones de precios por perfil de usuario el mejor y con la mejor relación precio/prestaciones es WooCommerce Role Based Prices

Nada más instalarlo tienes una nueva página de ajustes en Yith > Role Based Prices en la que configurar todos los aspectos.

Lo primero es definir a qué precio se aplicarán los descuentos especiales (normal o rebajado)

Para a continuación configurar a qué perfiles de usuario se pueden aplicar descuentos.

Y, la página de ajustes más importante, la de reglas de precio.

Y añadir reglas es realmente sencillo, solo tienes que rellenar unos pocos campos para configurarla.

Como ves en la captura anterior es sencillísimo:

  1. Eliges a qué perfil de usuario se aplicará.
  2. Defines si se aplicará a todos los productos o filtras por categorías o etiquetas (exclusión o inclusión).
  3. Especificas si el descuento será fijo o por porcentaje.
  4. Escribes el valor.
  5. Aplicas una prioridad si hubiese alguna otra regla sobre lo mismos productos y/o perfiles.

Las reglas se aplicarán automáticamente, pero es que además puedes crear reglas de precio específicas por producto.

En la página de creación/edición de productos verás un nuevo campo desde el que crear reglas personalizadas por producto.

Igual que las reglas globales, tremendamente sencillas de crear y configurar.

Para finalizar, puedes incluso personalizar los textos que se mostrarán a los visitantes, para animarles a registrarse y obtener descuentos.

Esto siempre es importante ¿no crees?

Como ves, WooCommerce Role Based Prices un pedazo de plugin, con enormes posibilidades, pues no solo puedes aplicar reglas de precio por perfil de usuario…

  • Puedes editar precios (en porcentaje y cantidad) para un producto simple, una categoría o etiqueta de productos, basándote en perfiles de usuario, etc.
  • Puedes aplicar precios distintos tanto al precio normal como al rebajado
  • Puedes cambiar la visibilidad del botón del añadir al carrito, el precio basado en perfiles, el precio, todo, según el p perfil de usuario
  • Puedes mostrar u ocultar impuestos de productos basándote en perfiles de usuario
  • Funciona con productos variables.

Además, como es un plugin de Yith, además de ser de por sí muy competitivo en precio, como todos sus plugins, puedes aprovechar el cupón de descuento que siempre tengo activo aquí.


Tanto si te sirve el código o prefieres optar por el plugin, espero que te animes a crear una estrategia de descuentos para clientes, está demostrado que es muy potente, y puede ayudarte a fidelizar y aumentar ventas en tu Ecommerce.

La entrada WooCommerce: Descuentos exclusivos solo a clientes la publicó primero Fernando Tellado en Ayuda WordPress. No copies contenido, no dice nada bueno de ti a tus lectores.