Plugin de WordPress con shortcode que no funciona

5 sept 2014, 22:45:21
Vistas: 69K
Votos: 10

Tengo un shortcode definido en un plugin de la siguiente manera:

// [tag1] -> Texto Más Largo
function shortcode_example1() {
    return 'Texto Más Largo';
}
add_shortcode('tag1', 'shortcode_example1');

Ahora, dentro de una página de WordPress estoy intentando acceder al plugin así:

[tag1]

Sin embargo, el shortcode no se ejecuta y la salida es simplemente "[tag1]". ¿Pueden ayudarme?

Gracias por su ayuda.

2
Comentarios

Tu código funciona para mí en WP 3.9.2, ya sea en un plugin o en functions.php. ¿Funcionan bien otros shortcodes?

Gabriel Gabriel
6 sept 2014 02:29:14

También confirmo que este shortcode funciona correctamente. ¿Algo ha eliminado el filtro do_shortcode del hook the_content? Prueba cambiando a un tema predeterminado (¿tu tema está usando the_content()?) y desactivando todos los plugins. Luego actívalos uno por uno para encontrar el posible conflicto.

helgatheviking helgatheviking
6 sept 2014 23:27:20
Todas las respuestas a la pregunta 4
4
33

Hay un par de cosas que comprobar aquí

  • Uno: ¿Está tu plugin activado?

  • Dos: ¿Está tu shortcode en el archivo principal de tu plugin? Si ese código está en otro archivo dentro de tu plugin, ¿te aseguraste de incluir ese archivo adicional en el archivo principal de tu plugin?

  • Tres: ¿No tienes ningún tipo de error en tu archivo de plugin que desactive tu plugin después de la activación? ¿Has configurado debug a true? Uno de los miembros del sitio tiene un excelente plugin de depuración disponible para descargar en wordpress.org llamado Debug Objects

  • Cuatro: Intenta mover tu shortcode al functions.php de tu tema para asegurarte de que tu shortcode realmente funciona. Si no funciona dentro de tu tema, el problema podría estar realmente en el tema mismo

  • Cinco: Como sugirió @helgatheviking, ¿no estás filtrando el the_content() de alguna manera que pueda causar este comportamiento?

  • Seis: Si todo lo anterior falla, desactiva todos los plugins, cambia a un tema incluido por defecto y vuelve a comprobar. Si el problema persiste, actualiza/reinstala WordPress, ya que podría ser un archivo del núcleo corrupto

7 sept 2014 11:36:30
Comentarios

Hice la lista de verificación: 1=¡check!, 2=¡sí!, 3=no, 4=ok, 5=no, 6-> ¡funcionó! Después de cambiar mi WordPress local (para pruebas) del 'Sydney Theme' a 'Twenty Fourteen' el shortcode se muestra. Parece que hay temas que evitan que los shortcodes se muestren en las entradas.

Martin Pfeffer Martin Pfeffer
13 mar 2017 05:02:53

Gracias Pieter por esta lista de verificación. Resulta que no había incluido mi archivo correctamente... ups. Ahora funciona bien :)

Self Designs Self Designs
15 may 2018 13:55:32

Hice todo lo siguiente y aún así no funciona. Tengo una instalación nueva de WordPress (5.0.2) con el código añadido al archivo functions.php. Pero cuando pongo [shortcodename] en una página, se trata como texto. ¿Qué está mal? Uso el tema por defecto: Twenty Sixteen.

hal hal
4 ene 2019 15:08:53

Esta es una lista de verificación súper útil. Lo único que añadiría sería un séptimo punto: asegúrate de que tu editor de páginas no esté arruinando tu shortcode como lo hizo con el mío: [plc_get_matter_detail_per_contact contacts=6c131-<wbr />668f13139e matters=6c620185-6211-1331-a642-668f6b7eea9e] Ese 'útil' WordBreak me causó problemas por un tiempo. Gracias editor de páginas...

Brian Stinar Brian Stinar
8 nov 2019 09:46:40
1
-1

agrega esto

    add_filter('the_content', 'do_shortcode');
22 oct 2018 15:48:17
Comentarios

¿Por qué? ¿Qué hace esto? ¿Dónde lo agregarían? Por favor, edita tu respuesta usando el enlace de editar arriba y añade más información sobre cómo esto ayuda a resolver el problema.

Howdy_McGee Howdy_McGee
22 oct 2018 17:22:36
0
-1

Tuve el mismo problema:

Resulta que me faltaba

<?php 

al inicio del archivo.

Espero que esto ayude.

12 ago 2022 19:33:50
1
-6

Gracias por tus respuestas. Después de una investigación más profunda, descubrí que el archivo del plugin donde estaba definido mi shortcode aparecía como "inactivo". Una vez que moví mis definiciones de shortcode a un archivo activo, todo comenzó a funcionar. Espero que esto sea útil para cualquiera que se encuentre con esto en el futuro.

¡Gracias de nuevo!

8 sept 2014 23:07:49
Comentarios

Por favor, acepta la respuesta correcta en lugar de la tuya.

Self Designs Self Designs
15 may 2018 13:52:06