Los códigos cortos múltiples de WordPress en la misma página no mantienen el orden de los elementos

2 minutos de lectura

Avatar de usuario de Milos
milos

Estoy escribiendo un complemento que crea códigos cortos. Aunque los códigos cortos se analizan como deberían, tengo un problema cuando uso varios códigos cortos en la misma página. Entonces, si lo hago así en el editor de publicaciones:

[foobar]
<p>Lorem ipsum text</p>
[foobar]
<p>Some other text</p>
[foobar]

la salida HTML es:

<div class="foobar">Foobar</div>
<div class="foobar">Foobar</div>
<div class="foobar">Foobar</div>
<p>Lorem ipsum text</p>
<p>Some other text</p>

Entonces, coloca todos los códigos cortos uno tras otro y luego muestra el resto del texto en la página. En cambio, me gustaría tener eso como lo escribí en el editor de publicaciones.

  • no creaste códigos cortos de la manera correcta

    –Haninder Singh

    28 de febrero de 2017 a las 11:27

  • ¿Te importaría decirme qué crees que está mal?

    – Milos

    28 de febrero de 2017 a las 11:30

  • ¿Qué quieres implementar exactamente?

    –Haninder Singh

    28 de febrero de 2017 a las 11:30

  • Te lo dije, para mantener el orden, entonces, quiero agregar texto, luego código abreviado, luego otro texto, luego el mismo código abreviado, luego el tercer párrafo. Cuando hago eso en el editor de contenido de wp, primero analiza todos los códigos abreviados y luego agrega todo el texto, sin importar cómo los coloque en el editor.

    – Milos

    28 de febrero de 2017 a las 11:52

Su problema es probablemente que está haciendo eco de los valores, en lugar de devolverlos.

Entonces, en lugar de hacer

‘eco “algo”‘

Hacer

‘ devolver algo” ‘

Fijado. Estaba usando echo en lugar de return.

Avatar de usuario de Atinder
entierro

esta es la forma correcta de definir el shortcode

[foobar]
Lorem ipsum text
[/foobar]
[foobar]
Some other text
[/foobar]

  • No, ahí es cuando quieres cambiar el texto entre códigos cortos. Mi sintaxis es correcta.

    – Milos

    28 de febrero de 2017 a las 11:51

¿Ha sido útil esta solución?