Una de las ventajas de Internet es el rápido acceso a la información. Con solo unas pocas palabras, el motor de búsqueda puede interpretar las necesidades del usuario y devolver resultados relevantes.
WordPress no es Google, pero desea brindar el mismo valor a los visitantes de su sitio web compartiendo contenido relevante. Afortunadamente, WordPress brinda a los usuarios opciones para profundizar en su contenido, incluidas categorías, etiquetas y barras de búsqueda.
Sin embargo, si está creando un sitio de WordPress o personalizando uno existente, puede encontrarse con situaciones en las que las opciones predeterminadas no son suficientes. Por ejemplo, está creando la página de un autor y desea ver todas sus publicaciones. Luego recurres a la función get_posts.
¿Qué es la función get_posts?
WordPress get_posts La función es un método para obtener un conjunto personalizado de publicaciones según ciertos criterios. Tenga en cuenta que las publicaciones en este caso de uso también pueden ser páginas o tipos de publicaciones personalizadas. Resultados get_posts la consulta se puede mostrar en la página.
¿Cuándo necesitas get_posts?
En cualquier momento, debe descargar un conjunto de publicaciones y verlas. Algunos casos de uso comunes incluyen mostrar una lista de sus publicaciones más populares, publicaciones del mismo autor que el artículo que está leyendo su usuario y publicaciones en la misma categoría que el contenido mostrado. Verás como estos get_posts las llamadas se escriben en PHP más adelante.
¿Cómo funciona get_posts?
get_posts toma criterios de búsqueda y luego trabaja dentro WP_Query object para convertir el código PHP en una consulta SQL a la base de datos del sitio de WordPress.
Los resultados se convierten en WP_Publicar objetos, donde cada objeto representa una publicación. Estos objetos se agrupan en una matriz que get_posts pasa por el bucle para mostrar los resultados según sus instrucciones.
Antes de continuar, echemos un vistazo más de cerca a la diferencia entre get_posts y WP_Query.
get_posts vs. WP_Query
Como se estableció, get_posts es un método WP_Query clase utilizada para buscar datos en la base de datos y publicar contenido.
WP_Query consulta la base de datos para mostrar publicaciones utilizando The Loop, que es el proceso principal que utiliza WordPress para mostrar publicaciones.
Usted puede preguntarse por qué get_posts existe si WP_Query también obtiene el contenido de la publicación y lo muestra. La diferencia clave es que get_posts no cambia The Loop. Un bucle es el proceso central de representación de publicaciones y páginas en su sitio y puede generar problemas con su sitio si no se restablece después de cada uso en el código.
get_posts fue creado para evitar esta trampa, convirtiéndolo en el método preferido para los desarrolladores de complementos de WordPress que buscan agregar valor sin causar problemas en su sitio host. La función obtiene información de la base de datos y restablece automáticamente el bucle después de cada llamada.
Ahora que entendemos get_postsrepasemos diferentes partes de nuestra solicitud en el código.
La anatomía de la consulta get_posts
get_posts está escrito en PHP y el problema más común que encontrará es una sintaxis incorrecta. Para evitar estos errores, cubriremos cada componente en esta sección. get_posts tarea.
get_posts Llámenos
En el caso más simple get_posts request es una llamada de función.
get_posts();
Este es el bloque de construcción básico. Sin embargo, llamando get_posts la función en sí no proporciona datos para la interacción porque no los asignó a una variable.
$sample_array = get_posts();
Ahora tiene una matriz de objetos de publicación asignados a matriz_de_muestra cambiable. En este caso, no ha definido ningún parámetro, por lo que el resultado predeterminado es descargar las cinco publicaciones más recientes. Comprobaremos la adición de parámetros a los suyos. get_posts en la última sección, pero primero veremos cómo ver nuestros resultados actuales.
bucle foreach get_posts
los get_posts La función devolvió una matriz, por lo que, naturalmente, el siguiente paso es recorrer los resultados para mostrarlos. Para hacer esto, use para todo el mundo método.
foreach($sample_array as $post)
{
echo "<h3>" . $post->post_title . "</h3>";
}
El método anterior pasa por cada uno de ellos. WP_Publicar objeto en nuestra matriz y continúa título de la entrada la propiedad para mostrar en la etiqueta H3 HTML. Combinémoslo con el nuestro. get_posts Llamada de función.
<?php
$count = 1;
$sample_array = get_posts();
foreach($sample_array as $post)
{
echo "<h3> ${count}. " . $post->post_title . "</h3>";
++$count;
}
?>
Añadiendo para contar variable, ahora verá una lista de las cinco publicaciones más recientes ordenadas de la más reciente a la más antigua. Esto también se puede lograr con una lista ordenada en HTML. La siguiente captura de pantalla muestra el resultado en la página.

título de la entrada no es la única propiedad disponible con WP_Publicaciones objeto. Otras propiedades útiles son:
- IDENTIFICACIÓN: ID del mensaje
- post_autor: Nombre y apellido del autor del post
- fecha de publicación: fecha de publicación posterior
- Publicar Contenido: publicar contenido, incluidos texto, imágenes, enlaces y multimedia
- Número de comentarios: La suma de los comentarios en la publicación.
Ahora que comprende el valor predeterminado get_posts llámenos, agreguemos parámetros personalizados a la consulta.
get_posts Parámetros
Poder real get_posts se debe a su capacidad para aceptar criterios de búsqueda no estándar. Ampliemos el ejemplo anterior y aumentemos el número de publicaciones recuperadas recientemente de cinco a 10 en la matriz de argumentos.
<?php
$count = 1;
# Custom parameters added inside arguments array
$arguments = array(
"numberposts" => 10
);
# Arguments variable provided as argument to get_posts function
$sample_array = get_posts($arguments);
foreach($sample_array as $post)
{
echo "<h3> ${count}. " . $post->post_title . "</h3>";
++$count;
}
?>
Por defecto numero de publicaciones el parámetro se establece en cinco, pero aquí el número se incrementa a 10. Como sugiere la matriz de argumentos, puede proporcionar más de un parámetro. Son 15 grupos de parámetros únicos pregunta por otros get_posts. Repasemos los parámetros más comunes.
Parámetros get_post comunes
A continuación se muestran los parámetros de búsqueda que probablemente usará:
- numero de publicaciones: declara la cantidad de publicaciones que desea devolver: use -1 para recuperar todas las publicaciones que coincidan con sus criterios
- Categoría: especifica si los resultados deben pertenecer a categorías únicas o múltiples en función de sus ID
- ordenar por: define los criterios por los que desea organizar sus publicaciones descargadas (por ejemplo, por fecha, número de comentarios, etc.)
- ordenar: especifica si los resultados se ordenan en orden ascendente o descendente
- encender: define las publicaciones que desea incluir en la matriz devuelta en función de sus ID
- excluir: define tus publicaciones no quieren incluir en los resultados en función de sus ID
- tipo de mensaje: decide si get_posts obtiene publicaciones, páginas o tipos de publicaciones personalizadas
- post_status: especifica si la consulta se publica, programa, está en curso o se elimina.
El ejemplo anterior se ha actualizado con parámetros adicionales a continuación. Ahora, esta solicitud mostrará 10 publicaciones en la categoría Ficción ordenadas por fecha de la más antigua a la más reciente. Tenga en cuenta que la categoría ficticia se identifica por su identificador, que es un número entero.
<?php
$arguments = array(
"numberposts" => 10,
"category" => 2,
"orderby" => "date",
"order" => "ASC"
);
$sample_array = get_posts($arguments);
foreach($sample_array as $post)
{
echo "<h3> " . $post->post_title . "</h3>";
echo "<p>" . $post->post_date . "</p>";
}
?>
Antes de continuar, echemos un vistazo más de cerca tipo de mensaje parámetro.
WordPress get_posts Tipo de publicación personalizada
Mientras crea su sitio de WordPress, puede crear tipos de publicaciones personalizadas además de las publicaciones y páginas predeterminadas. Esto podría ser cualquier cosa, desde bloques de referencia hasta páginas de productos. Para descargar estos objetos, utilice tipo de mensaje parámetro. En este ejemplo get_posts muestra los tres testimonios más recientes que se mostrarán en la página.
<?php
$arguments = array(
"post_type" => "testimonial",
"numberposts" => 3
);
$sample_array = get_posts($arguments);
foreach($sample_array as $testimonial)
{
echo "<h3> " . $testimonial->test_client_name . "</h3>";
echo "<p>" . $testimonial->test_summary . "</p>";
}
?>
Un beneficio adicional de esta llamada de función es que cada vez que se agrega otra revisión a la base de datos, se mostrará automáticamente en todas las páginas con esa get_posts solicitud, suponiendo que su fecha sea más reciente que las tres que se muestran actualmente. El tipo de publicación personalizada es unidireccional get_posts admite funciones avanzadas de CMS en su sitio de WordPress.
Verá más parámetros en acción, ya que cubriremos tres comunes en la siguiente sección. get_posts consultas que puede usar en su código.
Preguntas frecuentes sobre get_posts
Ahora que sabes escribir get_posts solicitud, analicemos algunas consultas que puede utilizar en su sitio.
1. Obtenga las publicaciones más populares.
Los sitios de WordPress a menudo tienen un widget que muestra las publicaciones de blog más populares. Para lograr esto, impulsa las publicaciones con más comentarios en get_posts.
<?php
$arguments = array(
"orderby" => "comment_count"
);
$sample_array = get_posts($arguments);
foreach($sample_array as $post)
{
echo "<h3> " . $post->post_title . "</h3>";
echo "<p>" . $post->comment_count . "</p>";
}
?>
Tenga en cuenta que debido a que el valor predeterminado get_posts request extraerá cinco publicaciones y las clasificará en orden descendente, este código no define estos argumentos. Sin embargo, puede cambiar estos parámetros y agregar otros para ajustarlos según sea necesario.
2. Descarga las publicaciones del autor.
Puede crear una página de autor para que su audiencia pueda encontrar más publicaciones de autor. Puede lograr esto llamando get_posts función z autor y numero de publicaciones parámetros
<?php
$arguments = array(
"numberposts" => -1,
"author" => 2
);
$sample_array = get_posts($arguments);
foreach($sample_array as $post)
{
echo "<h3> " . $post->post_title . "</h3>";
echo "<p>" . $post->post_date . "</p>";
}
?>
Tenga en cuenta que, al igual que nuestro ejemplo anterior, este código no cambia get_posts‘argumentos predeterminados, que se ordenan por fecha de envío y se clasifican en orden descendente. Esto evita código innecesario y simplifica la depuración.
3. Obtenga publicaciones en la misma categoría.
Otra estrategia común es mostrar publicaciones en la misma categoría al final de la publicación para que el lector pueda encontrar contenido similar. Para lograr esto, el siguiente código utiliza Categoría y limita el número de publicaciones a tres, ya que este es el número típico que se muestra.
<?php
$arguments = array(
"numberposts" => 3,
"category" => 2
);
$sample_array = get_posts($arguments);
foreach($sample_array as $post)
{
echo "<h3> " . $post->post_title . "</h3>";
echo "<p>" . $post->post_date . "</p>";
}
?>
Nuevamente, los parámetros predeterminados para ordenar por fecha de publicación en orden descendente permanecen en su lugar.
get_posts ofrece un nuevo valor a su audiencia
WordPress almacena toneladas de datos sobre cada publicación y página, y get_posts La función es el método principal para analizar esta información. Gracias a los parámetros en varias categorías, tiene posibilidades ilimitadas de entregar nuevos contenidos a sus destinatarios. los get_posts La función elimina la necesidad de escribir consultas en SQL, lo que reduce la barrera de entrada y simplifica la depuración.
Sea cual sea tu propósito get_posts lo ayudará a comprender mejor su contenido y descubrir nuevos enlaces entre sus publicaciones para servir mejor a su audiencia.








