¿Cómo mostrar etiquetas HTML en do_shortcode?

10 may 2015, 00:27:44
Vistas: 29.6K
Votos: 5

Quiero mostrar etiquetas HTML en la función do_shortcode();

<?php echo do_shortcode($content); ?>

¿Es posible? ¡Gracias!

1
Comentarios

Hola. ¿no es esto <?php echo '<html/>'; ?> lo que realmente lo está haciendo?

Ismail Ismail
10 may 2015 01:17:52
Todas las respuestas a la pregunta 2
0
18

Sí, es posible.

Hay dos formas que se me ocurren en este momento.

Primero sigue lo que dice el codex sobre Shortcodes. Básicamente solo debes envolver tu HTML en ob_start(); esto retornará el HTML como una cadena para que puedas mostrarlo.

function my_shortcode() {
    ob_start();
    ?> <HTML> <aquí> ... <?php
    return ob_get_clean();
}

La segunda forma es agregar tu HTML como una cadena a una variable y luego retornarla. Ejemplo:

function my_shortcode() {
    $output = '';
    $output.= '<html>contenido</html>';
    return $output;
}
10 may 2015 02:42:06
0
-1

Mi solución fue, y funciona perfectamente para mí:

function my_function(){
    ob_start();
    echo 'Etiqueta HTML larga aquí';
    $output = ob_get_contents();
    ob_end_clean(); 
    return  $output;
}
6 jun 2019 22:57:16