- Blogs
- Paso a paso
- Función get_post_type de WordPress: qué es y cómo utilizarla
Paso a paso / 10 min de lectura
Función get_post_type de WordPress: qué es y cómo utilizarla
La función de WordPress get_post_type
es una función incorporada que identifica uno de los aspectos fundamentales de las características de gestión de contenido de la plataforma: el tipo de contenido.
En este artículo, te explicaremos los tipos de contenido, cómo la función get_post_type
de WordPress te ayuda a identificarlos y cómo podés usar esta función para realizar acciones selectivas en tipos de contenido específicos.
Aspectos Clave
- Los tipos de contenido son las diferentes clases de contenido que gestiona WordPress.
- get_post_type es una función incorporada en WordPress que identifica el tipo de un contenido específico o el contenido actual en el bucle de WordPress.
- get_post_type te ayuda a aplicar estilos y elementos web o a realizar acciones únicamente cuando estás en tipos de contenido específicos.
¿Qué son los Tipos de Contenido en WordPress?
Dado que la función get_post_type
se ocupa de los tipos de contenido, es esencial entender qué son los tipos de contenido en WordPress, especialmente si sos nuevo en la plataforma. Si ya estás familiarizado con los tipos de contenido, saltea a la sección “¿Qué es la Función get_post_type?”.
Un tipo de contenido es una clase específica de contenido dentro del CMS de WordPress. Originalmente, WordPress era mayormente una plataforma de blogs, por lo que cada pieza de contenido era simplemente una “entrada”. Sin embargo, a medida que WordPress amplió sus características de gestión de contenidos, surgieron nuevos tipos de contenido.
Los tipos de contenido expanden el alcance de WordPress más allá de los blogs, permitiendo a sitios de todo tipo publicar contenido significativo para su audiencia de una manera estructurada.
Tipos de Contenido Predeterminados y Personalizados
Los tipos de contenido pueden ser tipos de contenido predeterminados o tipos de contenido personalizados. Los siguientes son los tipos de contenido incluidos en tu instalación de WordPress por defecto, almacenados en tu base de datos bajo la tabla wp_posts
.
Tipos de Contenido Predeterminados
- Entradas. El tipo de contenido más comúnmente usado para blogging. Tu archivo de blog generalmente mostrará entradas en orden cronológico inverso (de la más nueva a la más antigua), resultando ideal para contenido que actualizás regularmente, como artículos de noticias.
- Páginas. Las páginas muestran contenido “estático”. El contenido estático es aquel que no cambia con frecuencia. Ejemplos incluyen páginas informativas como “Acerca de Nosotros” y “Política de Privacidad”. Las páginas no se listan cronológicamente y no utilizan etiquetas o categorías como suelen hacer las entradas.
- Adjuntos. Cualquier pieza de medios subidos a tu sitio. Esto incluye imágenes, videos, archivos de audio o documentos PDF.
- Revisiones. Una revisión es una versión de un contenido específico. Cada vez que realizás cambios y los guardás en una entrada o página, WordPress crea automáticamente una revisión, permitiéndote ver y revertir a versiones anteriores de tu contenido.
- Menús de Navegación (“Menús”). Los menús son listas de enlaces que ayudan a los usuarios a navegar tu sitio web más eficientemente. Este tipo de contenido te permite personalizar listas de enlaces a diversas páginas y entradas en tu sitio.
- CSS Personalizado. Este tipo de contenido depende del tema. Cada vez que usás el Personalizador (Apariencia > Personalizar > CSS Adicional) para agregar estilos CSS personalizados, WordPress guarda estos cambios y los asocia con el tema que acabas de personalizar.
- Conjuntos de Cambios. Los conjuntos de cambios son como revisiones para el Personalizador mencionado anteriormente. WordPress guarda cada cambio en un conjunto de cambios similar a un borrador.
Tipos de Contenido Personalizados
Además de usar los tipos de contenido predeterminados, también podés crear tus propios tipos de contenido con la función de tipos de contenido personalizados. Los tipos de contenido personalizados son excelentes para crear plantillas que no encajan en los tipos de contenido predeterminados y requieren una estructura personalizada. Ejemplos incluyen estudios de caso, portafolios, perfiles de miembros del equipo y páginas de eventos.
Podés crear tipos de contenido personalizados usando la función nativa register_post_type
, pero recomendamos usar el plugin Advanced Custom Fields para facilitar el proceso y asegurar que los contenidos personalizados permanezcan después de cambiar de tema.
¿Qué es la función get_post_type de WordPress?
Ahora que hemos explorado los tipos de contenido, podés entender mejor qué hace la función get_post_type
.
La función get_post_type
recupera una cadena de texto con el tipo de contenido del contenido actual o de cualquier contenido específico que quieras. Consulta la base de datos de WordPress para determinar el tipo de un contenido dado.
get_post_type
puede ser muy útil en múltiples escenarios, como aplicar diseños o estilos específicos basados en el tipo de contenido o mostrar diferentes barras laterales o campos personalizados para diferentes tipos de contenido.
¿Cómo funciona la función get_post_type de WordPress?
La sintaxis básica de la función get_post_type
es:
get_post_type( $post = null );
El único parámetro es $post
y es opcional.
El valor de $post
puede ser una ID de contenido específica (un entero), un objeto WP_Post
(objeto de contenido) o dejarse en blanco. En caso de que no se especifique un valor, automáticamente se establece en null
y recupera la información del contenido actual en el bucle de WordPress.
Si el valor del parámetro es válido, devuelve el tipo de ese contenido. Si el valor no es válido, devuelve false
, indicando que no se pudo determinar el tipo de contenido.
Desglosando la Función get_post_type de WordPress
Para una explicación más profunda, podemos encontrar la definición de get_post_type
en el núcleo de WordPress. Más específicamente, se encuentra en el archivo post.php
dentro de la carpeta wp-includes
:
<?php
/**
* Recupera el tipo de contenido del contenido actual o de un contenido dado.
*
* @since 2.1.0
*
* @param int|WP_Post|null $post Opcional. ID del contenido u objeto del contenido. Por defecto es el global $post.
* @return string|false Tipo de contenido al tener éxito, false al fallar.
*/
function get_post_type( $post = null ) {
$post = get_post( $post );
if ( $post ) {
return $post->post_type;
}
return false;
}
?>
Ya que la función es bastante corta, podemos desglosar qué hace cada línea de código.
La Primera Línea
function get_post_type( $post = null ) {
La primera línea declara la función get_post_type
y su único parámetro, $post = null.
La Segunda Línea
$post = get_post( $post );
La segunda línea es donde comienza el cuerpo de la función. Intenta obtener el contenido usando $post = get_post( $post );
. get_post
es una función incorporada en WordPress que recupera un contenido basado en un ID de contenido específico o un objeto de contenido.
Si le pasás una ID de contenido (un entero), devuelve el objeto de contenido correspondiente, pero si le pasás un objeto de contenido, simplemente devuelve ese objeto. Finalmente, si le pasás null
o ningún argumento, intenta recuperar el objeto de contenido global actual, que es el contenido actual en el bucle de WordPress.
Esta segunda línea asegura que la variable $post
sea siempre un objeto de contenido. Independientemente de la entrada inicial, siempre devolverá un objeto de contenido. Esto es importante porque el resto de la función opera sobre un objeto de contenido.
Al asegurar que la variable $post
es siempre un objeto de contenido (o null
si el contenido no existe o no se especifica), la función siempre puede acceder de manera confiable a la propiedad post_type
del objeto WP_Post
más adelante.
La Tercera Línea
if ( $post ) {
Esta línea verifica si la variable $post
es true
o false
. Si esta condición devuelve true
, el contenido existe, y el programa pasa a la siguiente línea. Si devuelve false
, significa que no se encontró contenido, ya sea porque no hay un contenido actual en el bucle o porque la ID del contenido proporcionada era inválida.
La Cuarta Línea
return $post->post_type;
Si la línea anterior encontró un contenido, esta línea accede a la propiedad post_type
del objeto de contenido. Esta propiedad contiene el tipo de contenido (entrada, página, adjunto, etc.) y la función lo devuelve como una cadena de texto.
Las Últimas Líneas
}
return false;
}
La quinta línea cierra las llaves abiertas por la condición ( if ( $post ) {
).
return false;
significa que la función devuelve un Boolean false
si no se encuentra un contenido. Un false
indica que no se pudo determinar el tipo de contenido. Esto puede suceder porque no hay un contenido actual en el bucle o el contenido especificado no existe.
Finalmente, la última línea ( }
) cierra la función.
¿Cómo Usar get_post_type en WordPress?
Ahora que sabés cómo funciona la función get_post_type
en un nivel más profundo, es momento de usarla. El siguiente fragmento es un ejemplo simple de cómo usar la función para verificar el tipo del contenido actual y mostrar el mensaje “¡Esto es una entrada!” La idea es mostrar el mensaje únicamente si el tipo de contenido es una entrada. Recordá que entrada
es el tipo de contenido para las publicaciones de blog.
Podés colocar el fragmento en el archivo single.php
, que es el guion que WordPress usa para renderizar entradas individuales.
Acá está el código:
<?php
if (have_posts()) : while (have_posts()) : the_post();
// Obtener el tipo de contenido para el contenido actual
$post_type = get_post_type();
if ($post_type == 'post') {
echo "¡Esto es una entrada!";
}
// Resto del código que muestra el contenido de la entrada
endwhile; endif;
?>
En la primera línea de la lista, verificamos si hay contenidos para mostrar con if (have_posts()
. Esta es una estructura de control estándar del bucle de WordPress.
Luego comenzamos el bucle con while (have_posts())
. Si hay contenidos disponibles, la función itera a través de ellos. the_post()
configura los datos del contenido, preparándolos para su recuperación y visualización.
En la segunda línea, $post_type = get_post_type();
llama a la función get_post_type para identificar el tipo de contenido del contenido actual en el bucle. Almacenamos el tipo de contenido recuperado en la variable $post_type.
La tercera línea comienza la verificación condicional para el tipo de contenido. if ($post_type == 'post') {
verifica si el tipo de contenido del contenido actual es post
. Si el tipo de contenido es realmente post
, emite una declaración echo para mostrar el mensaje ¡Esto es una entrada!
.
Finalmente, endwhile; endif;
termina el bucle y la declaración if
que comenzó el bucle.
Este es un ejemplo muy simple, pero te da una idea de cómo usar la función get_post_type
en tu proyecto de desarrollo en WordPress.
Reflexiones Finales sobre la Función get_post_type
Los tipos de contenido son las diferentes clases de contenido que WordPress gestiona, incluyendo imágenes, entradas de blog y tipos personalizados que podés crear para satisfacer las necesidades de contenido de tu sitio web. La función get_post_type
determina el tipo de un contenido dado en WordPress.
get_post_type
puede ser muy útil para aplicar diseños o estilos específicos basados en el tipo de contenido o para realizar acciones específicas, como mostrar un mensaje para identificar el tipo de contenido actual. Con suerte, ahora comprendés mejor cómo funciona y cómo podés usarla en tus proyectos.
Si encontraste útil este artículo, leé nuestro blog para obtener más información y guías sobre WordPress.
Artículos relacionados
WordPress 101 / 7 min de lectura
WordPress 101 / 7 min de lectura
Los beneficios del Full Site Editor para usuarios de WordPress
El "Editor de Sitio Completo" (FSE) es una función de WordPress que permite a cualquier usuario modificar todo su sitio a través de la interfaz familiar del editor Gutenberg. Esto…
Leer másPaso a paso / 5 min de lectura
Paso a paso / 5 min de lectura
Función get_option de WordPress: ¿Qué es y cómo usarla?
La función de WordPress get_option te permite recuperar información de la base de datos de WordPress. Más específicamente, recupera datos de la tabla wp_options, que almacena información relacionada con ajustes,…
Leer más