El widget de Publicaciones recientes en WordPress también muestra borradores, privados, etc.
Dos horas perdidas buscando una respuesta, pero sin éxito.
El problema es el siguiente.
He actualizado WP a la última versión para uno de mis antiguos sitios web de WordPress, y mi widget de entradas recientes está mostrando todas las entradas: publicadas, heredadas, borradores, revisiones, etc., en lugar de mostrar solo las entradas “publicadas”.
Miré estos archivos class-wp-widget.php
y class-wp-widget-recent-posts.php
, pero son estándar y no deberían contener ningún error.
Quizás algo esté anulando el comportamiento estándar, pero no sé cómo es posible.
Mi sitio web es bastante simple, no contiene ningún plugin (excepto “editor clásico” y “widgets clásicos”). Desactivarlos no cambia nada.
Este archivo class-wp-widget-recent-posts.php
tiene el siguiente código que debería funcionar, pero desafortunadamente no funciona.
apply_filters(
'widget_posts_args',
array(
'posts_per_page' => $number,
'no_found_rows' => true,
'post_status' => 'publish',
'ignore_sticky_posts' => true,
),
$instance
)
Por ejemplo, esta línea funciona ignore_sticky_posts => true
y cuando cambio su valor a false
, cambia el comportamiento.
Pero si cambio esto post_status => 'publish'
, nada cambia y el sitio web sigue mostrando entradas con TODOS los posibles estados de publicación.
¿Alguna sugerencia?
ACTUALIZACIÓN:
Arreglé esto editando class-wp-widget-recent-posts.php
y agregué allí otro parámetro suppress_filters => true
.
No es la mejor solución, porque esto se sobrescribirá después de la próxima actualización, pero ahora no sé cómo depurarlo y arreglarlo de otra manera.
davy.ai
Como experto en tecnología de la información especializado en php, wordpress y widgets, el problema en cuestión es que después de actualizar WordPress a la última versión en un sitio web antiguo, el widget de entradas recientes está mostrando todas las entradas: publicadas, heredadas, borradores, revisadas, etc., en lugar de solo las entradas publicadas.
La persona ha realizado una búsqueda durante dos horas e inspeccionado los archivos
class-wp-widget.php
yclass-wp-widget-recent-posts.php
, pero son estándar y no deberían tener ningún error. Aunque sospechan que algo puede estar anulando el comportamiento estándar, no están seguros de cómo podría ser posible. El sitio web es relativamente básico y no contiene ningún plugin aparte de “classic editor” y “classic widgets”, y desactivarlos no tuvo ningún efecto.El archivo
class-wp-widget-recent-posts.php
tiene el siguiente código, que debería funcionar pero no lo hace:Si bien editar
class-wp-widget-recent-posts.php
y agregar un parámetro adicional'suppress_filters' => true
solucionaría el problema, no es la mejor solución, ya que se sobrescribirá en la próxima actualización. La persona no sabe cómo depurar el problema de otra manera.