Autonomía digital y tecnológica

Código e ideas para una internet distribuida

El contenido de un post no aparece después de darle a publicar. ¿Qué pasa con mi WordPress?

Imago voragine.net
[actualizado el ]

Pues puede deberse a que el post es demasiado largo, en realidad que contiene demasiada información. No sé cual es la cantidad de kilobytes máxima pero la hay. Cuando una entrada o una página superan el máximo en el campo contenido, la información se guardan en base de datos pero al hacer la petición a ésta no se muestra.

El síntoma para detectar que es esto lo que está pasando es que si hemos usado la etiqueta more, el post nos aparece en portada hasta la etiqueta more, pero no completo en su página individual.

Según un hilo de los foros de wordpress.org, el paquete WordPress incluye un filtro que limita el contenido de los posts y las páginas.

Una solución para  anular este filtro es editar el archivo wp-includes/default-filters.php y comentando la línea add_filter('the_content', 'wpautop');. El problema con ella es que la próxima vez que actualicemos WordPress perderemos el cambio.

Si seguimos leyendo el hilo proponen instalar un plugin para poder incluir código PHP en el contenido de un post o una página. Es una solución riesgosa, ya que no he encontrado plugin alguno que permita hacer una lista de usuarios autorizados para hacer esta operación, con lo que si tienes el registro de usuarios abierto no se te ocurra instalar algo así.

Una vez instalado el plugin, yo he elegido Inline PHP, basta añadir al principio del post la siguiente línea:

<?php remove_filter('the_content', 'wpautop'); ?>

La solución más segura aunque algo más elaborada, es meter esta sentencia de PHP en el código del archivo single.php mediante una sentencia condicional que discrimine los posts en los que es necesaria, mediante su ID. Aunque claro, cada vez que se dé esta situación, se tiene que editar single.php.

4 comentarios

  1. Hola que tal, tengo una consulta, estoy realizando un form para publicar entradas sin tener que entrar a la admin, el formulario funciona correctamente (www.contigoperuclasificados.com), estoy tratando de integrar Tiny_MCE al text area para que los usuarios puedan aplicar formato a sus avisos, pero el problema es que al hacer clic en el botón publicar los formatos que se han aplicado no se guardan. Estaba analizando como implementar la función wpautop pero la verdad no tengo idea. Muchas gracias.

  2. Lo que hace wpautop es sustituir dos saltos manuales seguidos por etiquetas “p” de HTML, pero no tiene nada que ver con el resto de los estilos.

    Además, está activo por omisión en WordPress. Lo puedes comprobar en el archivo default-filters.php que encontrarás en la carpeta wp-includes.

    Creo que tu problema se debe a otra cosa que nada tiene que ver con wpautop.

    • Por Jeimy

    Hola tengo una situación, cuando edito en edit by building algo de la plantilla (uso una tipo Kallyas) , y le doy publicar se queda cargando por toda la eternidad y no publica nada. ¿Qué puedo hacer?

    1. Hola, debes añadir el filtro add_filter('the_content', 'wpautop');, bien en el archivo single.php, bien en el archivo functions.php de tu theme.

Dejar un comentario

*
*

 

No hay trackbacks