Ejemplo:
<?php
function
prefijo_nombreShortcode(
$atts
= [],
$content
= null,
$tag
= '')
{
// Para evitar errores de escritura podemos poner los nombres de
// attributos q se pasan en minúsculas, no es obligatorio.
$atts
= array_change_key_case((array)$atts, CASE_LOWER);
// Podemos poner valores por defecto a los atributos pasados
$wporg_atts
= shortcode_atts(['title'
=> 'WordPress.org'],
$atts, $tag);
// Crea una variable con el contenido de salida
$o
= '';
$o
.= '<div class="wporg-box">';
$o
.= '<h2>'
. esc_html__($wporg_atts['title'], 'wporg') .
'</h2>';
if
(!is_null($content)) {
$o
.= apply_filters('the_content', $content);
$o
.= do_shortcode($content);
}
$o
.= '</div>';
// Devuelve el Html que enviará el sortcode
return
$o;
}
// Registra el Shortcodefunction
prefijo_nombreShortcode_registrar(){
add_shortcode('wporg', 'prefijo_nombreShortcode');
}
// Asegura q se ejecute el registro del shortCodeadd_action('init', 'prefijo_nombreShortcode_registrar');
Esto podemos añadir en el functions.php (caca, no hacer), o meterlo en un plugin propio.