Entre todas las funciones que se encuentran disponibles en WordPress hay una en particular que puede resultar de gran utilidad si requerimos mostrar la información de una entrada en concreto.
En el siguiente artículo revisaremos que es la función get_posts, para qué sirve y en que casos podemos aplicarla.
Tabla de contenidos
¿Qué es la función get_post en WordPress?
En WordPress, la función get_post codificada en PHP se utiliza para recuperar información detallada sobre una entrada o publicación específica de nuestro sitio web. Dicha función acepta un único parámetro, el cual corresponde al ID de la publicación que se desea recuperar.
La función get_post devuelve un objeto WP_Post que contiene toda la información concreta sobre la publicación, como puede ser el título, el contenido, la fecha de publicación, las categorías, las etiquetas y otros metadatos. Este objeto también permite tomar métodos para acceder a los valores individuales de cada uno de estos campos.
Por otra parte, la función es comúnmente utilizada en el desarrollo de temas y plugins de WordPress para obtener información sobre publicaciones específicas y utilizarla en la construcción de páginas y plantillas personalizadas.
Tipos de consultas que podemos usar con la función get_post
La función get_post en WordPress como hemos definido se puede utilizar para recuperar información detallada sobre una publicación específica. Hay varios tipos de consultas que podemos realizar por medio de la funcion, entre ellas podemos mencionar las siguientes:
Consulta por ID: podemos recuperar una publicación específica por medio del ID de la publicación como parámetro. Por ejemplo, get_post(123) recuperaría la publicación con el ID 123.
Consulta por slug: podemos recuperar una publicación específica pasando el slug (URL amigable) de la publicación como parámetro. Por ejemplo, get_post(‘mi-publicacion’) recuperaría la publicación con el slug ‘mi-publicacion’.
Consulta por título: podemos recuperar una publicación específica pasando el título de la publicación como parámetro. Por ejemplo, get_post([‘post_title’ => ‘Título de la publicación’]) recuperaría la publicación con el título ‘Título de la publicación’.
Consulta por autor: podemos recuperar todas las publicaciones escritas por un autor específico pasando el ID de autor como parámetro. Por ejemplo, get_post([‘author’ => 1]) recuperaría todas las publicaciones escritas por el autor con el ID 1.
Consulta por fecha: podemos recuperar todas las publicaciones publicadas en una fecha específica pasando la fecha como parámetro. Por ejemplo, get_post([‘date’ => ‘2023-01-01’]) recuperaría todas las publicaciones publicadas en el 1 de enero de 2023.
Hemos podido ver solo algunos ejemplos de las consultas que se pueden realizar con la función get_post. Hay muchas otras opciones de consulta que podemos disponer para filtrar y recuperar publicaciones concretas.
¿Cómo crear consultas get_post en WordPress?
Para comenzar a crear consultas utilizando la función get_post en WordPress, podemos iniciar de la siguiente manera:
Primero que nada debemos identificar el tipo de consulta que deseas hacer (puedes domar de referencia las que ya hemos definido). Puedes buscar publicaciones por ID, slug, título, autor, fecha, entre otros.
Proseguimos a crear un array con los parámetros de la consulta. Por ejemplo, si deseas buscar publicaciones por título, puedes crear un array como el siguiente:
$args = array('post_title' => 'Título de la publicación');
Por otro lado debemos llamar a la función get_post y pasar el array con los parámetros de la consulta como argumento:
$post = get_post($args);
Si la consulta se realiza correctamente, la función get_post debe devolver un objeto WP_Post que contiene toda la información detallada de la entrada correspondiente.
Para acceder a la información de la entrada, podemos utilizar los métodos que proporciona el objeto WP_Post, como por ejemplo $post->ID para obtener el ID de la entrada o publicación, $post->post_title para obtener el título o $post->post_content para obtener el contenido de la entrada o publicación.
Ya con el objeto disponible podemos utilizar la información recuperada de la consulta para construir páginas personalizadas, plantillas de temas y plugins, o para mostrar información concreta en nuestro sitio web.
Considerando lo explicado vamos a realizar un ejemplo donde la intención es ubicar una entrada por medio de su ID:
$post_id = 777; // ID de la entrada que deseas buscar $post = get_post($post_id); // Recupera la publicación con el ID 777 if ($post) { // Si se encontró una entrada, muestra su título y contenido echo '<h2>' . $post->post_title . '</h2>'; echo $post->post_content; }
Prosigamos a explicar el código usado de ejemplo:
En el código presentado de ejemplo se busca una entrada o publicación específica por su ID utilizando la función get_post.
En la siguiente línea, se define la variable $post_id y se le asigna el valor 777, la cual es el ID de la publicación que se desea buscar. Podemos cambiar este valor para buscar cualquier otra entrada o publicación en nuestro sitio web.
$post_id = 123; // ID de la publicación que deseas buscar
En la siguiente línea, invocamos a la función get_post y se le pasamos el ID de la publicación que se desea buscar como parámetro. La función get_post devolvera un objeto WP_Post el cual contiene toda la información detallada de la entrada.
$post = get_post($post_id); // Recupera la publicación con el ID 777
En las siguientes líneas, hacemos uso de una estructura condicional para verificar si se encontró una publicación con el ID especificado. Si la consulta es exitosa y se encuentra la publicación, el código dentro del bloque condicional se ejecutará.
En este caso, se muestra el título de la publicación utilizando $post->post_title y el contenido de la publicación utilizando $post->post_content.
if ($post) { // Si se encontró una publicación, muestra su título y contenido echo '<h2>' . $post->post_title . '</h2>'; echo $post->post_content; }
Es importante destacar que el código presentado es solo un ejemplo simple de todas las formas en las que podemos utilizar la función get_post. En un caso de uso real, es posible que necesitemos hacer consultas más complicadas, además de requerir la información de la publicación o entrada de diferentes maneras.
Ejemplos de la función get_post en WordPress
Considerando el ejemplo que hemos desglosado anteriormente y conociendo un poco más de la sintaxis de como se presenta a continuación, veremos otros casos en los que podemos utilizar la función de get_post.
Buscar una publicación por su slug:
$post_slug = 'mi-publicacion'; // Slug de la entrada que deseas buscar $post = get_post(array('name' => $post_slug, 'post_type' => 'post')); // Recupera la entrada con el slug "mi-publicacion" if ($post) { // Si se encontró una entrada, muestra su título y contenido echo '<h2>' . $post->post_title . '<h2>'; echo $post->post_content; }
Buscar una página por su título:
$page_title = 'Mi página'; // Título de la página que deseas buscar $page = get_page_by_title($page_title); // Recupera la página con el título "Mi página" if ($page) { // Si se encontró una página, muestra su título y contenido echo '<h2>' . $page->post_title . '</h2>'; echo $page->post_content; }
Buscar una entrada por su autor:
$author_id = 7; // ID del autor de la entrada que deseas buscar $posts = get_posts(array('author' => $author_id)); // Recupera todas las entradas del autor con el ID 7 foreach ($posts as $post) { // Muestra el título y la fecha de cada publicación echo '<h2>' . $post->post_title . '</h2>'; echo '<p>Fecha: ' . $post->post_date . '</p>'; }
Buscar las entradas más recientes:
$posts = get_posts(array('orderby' => 'post_date', 'order' => 'DESC', 'posts_per_page' => 5)); // Recupera las 5 publicaciones más recientes foreach ($posts as $post) { // Muestra el título y la fecha de cada publicación echo '<h2>' . $post->post_title . '</h2>'; echo '<p>Fecha: ' . $post->post_date . '</p>'; }
Buscar todas las páginas del sitio:
$pages = get_posts(array('post_type' => 'page')); // Recupera todas las páginas del sitio foreach ($pages as $page) { // Muestra el título y la fecha de cada página echo '<h2>' . $page->post_title . '</h2>'; echo '<p>Fecha: ' . $page->post_date . '</p>'; }
Conclusión
Con la funcion get_post, podemos recuperar información como el título, el contenido, la fecha, el autor, las categorías y las etiquetas de una entrada y utilizar esta información para personalizar la presentación de los post en nuestro sitio web.
Al usar la función get_post, podemos crear consultas personalizadas que te permitan mostrar información específica en diferentes partes de tu sitio web, como en la página de inicio, la página de archivos, las páginas de categorías, etc. Además, la función get_post es fácil de usar y se puede personalizar con diferentes parámetros y opciones para obtener información más precisa.
Entre todas las funciones disponibles que nos brinda por defecto WordPress, la función get_post es una poderosa herramienta que podemos utilizar para crear una gran variedad de consultas, las cuales podemos personalizar de muchas maneras para recuperar y obtener exactamente la información que requerimos.
También te puede interesar:
- WP_Query WordPress, qué es y cómo funciona
- Cómo crear una entrada en WordPress
- https://www.webempresa.com/blog/pagina-inicio-wordpress-pagina-entradas.html
- Shortcodes WordPress, Qué es y cómo crearlo
- Qué son los snippet y como introducir nuevas funcionalidades en tu WordPress.
¿Te ha resultado útil este artículo?
Equipo de soporte WordPress y Woocommerce en Webempresa.