¿Cómo funciona el filtro the_posts?

4

No quiero mostrar la publicación con el cuerpo / post_content vacío en mi página de inicio. Así que agregué el código de abajo a mi function.php. Detecta la publicación con el cuerpo vacío pero todavía los muestra. Esperé que si regreso '' la publicación no se mostrará.

  • ¿Cómo puedo eliminar la publicación?
  • ¿Cómo funciona el filtro the_posts ?

El código:

function remove_post_with_empty_body ( $posts ) {

    if (($posts->post_content) == '') { 


        echo 'empty'; //also tried return false; and return null;

        return '';
    }
    else {

        echo 'not empty';
        return $posts;
    }

}
add_action('the_post', 'remove_post_with_empty_body');
    
pregunta Radek 02.01.2012 - 06:28

1 respuesta

6

Lo primero, en tu código estás usando the_post hook, pero en tu pregunta estás preguntando sobre the_posts hook, que son dos cosas diferentes.

Se llama a

the_posts justo después de que las publicaciones hayan sido seleccionadas de la base de datos y pasen una serie de $ publicaciones a su función, por lo que debe usarlas.

como para the_post hook, se dispara (generalmente) dentro del bucle en sí mismo, lo cual es demasiado tarde para cambiar cualquier cosa (como redirección) y no es un gancho de filtro, sino un gancho de acción que significa que si regresa nada, simplemente está saliendo de su función y no afecta el resultado.

    
respondido por el Bainternet 02.01.2012 - 09:30

Lea otras preguntas en las etiquetas