Los shortcodes en Worpress nos permiten hacer una llamada a una función previamente creada tanto en el código de nuestros archivos cómo en el contenido del editor de WordPress, aunque reconozco que no suelo hacer uso de ellos, son una gran ventaja a la hora de ejecutar funciones ya que nos ahorran mucho código gracias a sus atributos y la posibilidad de obtener casi cualquier resultado de los mismos.

Crear un shortcode es muy fácil, tan solo tenemos que hacer uso de la función add_shotcode() de WordPress, para ello escribiremos una función en el archivo functions.php de nuestro tema con el siguiente código:

add_shortcode('hola', 'devolver_hola');
function devolver_hola() { 
	return 'Hola';
}

Así de fácil, la función add_shortcode(9 de WordPress recibe 2 parámetros, el primero es el nombre que vamos a definir para el shortcode y el segundo el nombre de la función que asociamos al mismo. Para ejecutar este shortcode en nuestro proyecto lo haríamos de la siguiente forma:

En el código

<?php echo do_shortcode( '[hola]' ); ?>

En el editor

[hola]

La función solo nos devuelve un string con el valor hola, pero podemos hacer muchas más cosas con los shortcodes, una de las cosas que más me gustan es que podemos crear atributos para elegir el valor que nos devuelva la función, ahora crearemos una función que nos devolverá el string hola si no le pasamos ningún atributo al shortcode y nos devolverá adiós si le pasamos el atributo noche=”true”

add_shortcode('saludo', 'devolver_saludo');
function devolver_saludo($atts) { 
    $atts = shortcode_atts( array(
        'noche' => false
    ), $atts );
    if( $atts['noche'] == true ) {
        return 'adios';
    }else{
        return 'hola';
    }
}

En el código

<?php echo do_shortcode( '[saludo noche="true"]' ); ?>

En el editor

[saludo noche="true"]

Con un poco más de imaginación podemos hacer cosas muy avanzadas que nos ahorren mucho tiempo y ayuden a los editores de contenido a obtener elementos dinámicos en las entradas.

Valoraciones


Sé el primero en valorar

* Tu valoración puede tardar hasta 72 horas en publicarse.

He leido y acepto el Aviso legal y condiciones de uso

Utilizamos cookies propias necesarias para el correcto funcionamiento de la web y personalizar el contenido. No utilizamos cookies de terceros ni guardamos información personal sobre ti. Puedes encontrar más información en nuestra Política de cookies.

ACEPTAR
Aviso de cookies