Enter

¿Cómo... / 10 min de lectura

Función get_post_type de WordPress: qué es y cómo usarla

PHP code

La función get_post_type de WordPress es una función integrada que identifica uno de los aspectos fundamentales de las características de gestión de contenido de la plataforma: el tipo de publicación.

En este artículo, vamos a explicar qué son los tipos de publicaciones, cómo la función get_post_type de WordPress te ayuda a identificarlas y cómo podés usar esta función para realizar acciones selectivas sobre tipos de publicaciones específicos.

Puntos Clave

  • Los tipos de publicaciones son los diferentes tipos de contenido que WordPress gestiona.
  • get_post_type es una función integrada de WordPress que identifica el tipo de una publicación específica o la publicación actual en el bucle de WordPress.
  • get_post_type te ayuda a aplicar estilos y elementos web o realizar acciones solo cuando estás en tipos de publicaciones específicos.

¿Qué Son los Tipos de Publicaciones en WordPress?

Dado que la función get_post_type se ocupa de los tipos de publicaciones, es esencial entender qué son los tipos de publicaciones de WordPress, especialmente si sos nuevo en la plataforma. Si ya estás familiarizado con los tipos de publicaciones, podés saltar a la sección “¿Qué es la Función get_post_type?”

Un tipo de publicación es un tipo específico de contenido dentro del CMS de WordPress. Originalmente, WordPress era principalmente una plataforma de blogs, así que cada pieza de contenido era simplemente un “post”. Sin embargo, a medida que WordPress amplió sus características de gestión de contenido, aparecieron nuevos tipos de contenido.

Los tipos de publicaciones amplían el alcance de WordPress más allá del blogging, permitiendo que sitios de todos los tipos publiquen contenido significativo para su audiencia de una manera estructurada.

Tipos de Publicaciones por Defecto y Personalizados

Los tipos de publicaciones pueden ser tipos de publicaciones por defecto o tipos de publicaciones personalizados. Los siguientes son los tipos de publicaciones incluidos en tu instalación de WordPress por defecto, almacenados en tu base de datos bajo la tabla wp_posts.

Tipos de Publicaciones por Defecto

  • Publicaciones. El tipo de publicación más comúnmente utilizado para blogging. Tu archivo de blog típicamente mostrará las publicaciones en orden cronológico inverso (de más nuevo a más viejo), lo que las hace ideales 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 “Sobre Nosotros” y “Política de Privacidad”. Las páginas no se listan cronológicamente y no utilizan etiquetas ni categorías como suelen hacerlo las publicaciones.
  • Adjuntos. Cualquier pieza de multimedia que subas a tu sitio. Incluye imágenes, vídeos, archivos de audio o documentos PDF.
  • Revisiones. Una revisión es una versión de un contenido específico. Cada vez que haces cambios y los guardas en una publicación o página, WordPress crea automáticamente una revisión, permitiéndote ver y volver 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 por tu sitio web de manera más eficiente. Este tipo de publicación te permite personalizar listas de enlaces a varias páginas y publicaciones de tu sitio.
  • CSS Personalizado. Este tipo de publicación es específico del tema. Cada vez que usas el Personalizador (Aspecto > 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 las revisiones para el Personalizador mencionado anteriormente. WordPress guarda cada cambio en un conjunto de cambios, similar a un borrador.

Tipos de Publicaciones Personalizadas

Aparte de usar los tipos de publicaciones predeterminados, también podés crear tus propios tipos de publicaciones con la función de tipos de publicaciones personalizados. Los tipos de publicaciones personalizados son excelentes para crear plantillas que no encajan en los tipos de publicaciones 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 publicaciones personalizados usando la función nativa register_post_type, pero recomendamos usar el plugin Advanced Custom Fields en su lugar. Facilita el proceso y asegura que las publicaciones personalizadas permanezcan después de cambiar de tema.

¿Qué es la Función get_post_type de WordPress?

Ahora que exploramos los tipos de publicaciones, podés entender mejor qué hace get_post_type.

La función get_post_type recupera una cadena de texto con el tipo de publicación de la publicación actual o de cualquier publicación específica que desees. Consulta la base de datos de WordPress para determinar el tipo de una publicación dada.

get_post_type puede ser muy útil en múltiples escenarios, como aplicar diseños o estilos específicos según el tipo de publicación o mostrar diferentes barras laterales o campos personalizados para diferentes tipos de publicaciones.

¿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 un ID específico de una entrada (un entero), un objeto WP_Post (objeto de entrada), o dejarse en blanco. Si no se especifica un valor, automáticamente se utiliza el valor null y se recupera la información de la entrada actual en el bucle de WordPress.

Si el valor del parámetro es válido, devuelve el tipo de esa entrada. Si el valor no es válido, devuelve false, lo que indica que no se pudo determinar el tipo de entrada.

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, está en el archivo post.php dentro de la carpeta wp-includes:

<?php
/**
 * Recupera el tipo de entrada de la entrada actual o de una entrada dada.
 *
 * @since 2.1.0
 *
 * @param int|WP_Post|null $post Opcional. ID de entrada u objeto de entrada. El valor por defecto es $post global.
 * @return string|false          Tipo de entrada en caso de éxito, false en caso de fallo.
 */
function get_post_type( $post = null ) {
$post = get_post( $post );
	if ( $post ) {
		return $post->post_type;
	}
	return false;
}
?>

Dado que la función es bastante corta, podemos desglosar lo que hace cada línea de código.

La 1ª 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 2ª Línea

$post = get_post( $post );

La segunda línea es cuando comienza el cuerpo de la función. Intenta obtener la entrada usando $post = get_post( $post );. get_post es una función incorporada de WordPress que recupera una entrada basada en un ID de entrada específico o un objeto de entrada.

Si le pasás un ID de post (un número entero), te devuelve el objeto del post correspondiente, pero si le pasás un objeto de post, simplemente te devuelve ese objeto tal cual. Por último, si le pasás null o no le pasás ningún argumento, intenta recuperar el objeto global del post actual, que es el post que está en el bucle de WordPress.

Esta segunda línea asegura que la variable $post siempre sea un objeto de post. Sin importar la entrada inicial, siempre te va a devolver un objeto de post. Esto es importante porque el resto de la función opera sobre un objeto de post.

Al garantizar que la variable $post siempre sea un objeto de post (o null si el post no existe o no se especificó), la función puede acceder de manera confiable a la propiedad post_type del objeto WP_Post más adelante.

La 3ra Línea

if ( $post ) {

Esta línea chequea si la variable $post es true o false. Si esta condición devuelve true, significa que el post existe, y el programa avanza a la siguiente línea. Si devuelve false, significa que no se encontró ningún post, ya sea porque no había un post actual en el bucle o porque el ID de post proporcionado no era válido.

La 4ta Línea

return $post->post_type;

Si la línea anterior encontró un post, esta línea accede a la propiedad post_type del objeto de post. Esta propiedad contiene el tipo de post (post, página, adjunto, etc.) y la función lo devuelve como una cadena.

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 false Booleano si no se encontró ningún post. Un false indica que no se pudo determinar el tipo de post. Esto puede suceder porque no hay un post actual en el bucle o el post especificado no existe.

Finalmente, la última línea ( } ) cierra la función.

¿Cómo Usar get_post_type En WordPress?

Ahora que conocés cómo funciona la función get_post_type en un nivel más profundo, es hora de ponerla en práctica. El siguiente fragmento es un ejemplo simple de cómo usar la función para verificar el tipo de post actual y mostrar el mensaje “¡Esto es un post!”. La idea es que el mensaje se muestre solo si el tipo de post es ‘post’. Recordá que post es el tipo de post para las entradas de blog.

Podés colocar el fragmento en el archivo single.php, que es el script 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 post para el post actual
$post_type = get_post_type(); 
if ($post_type == 'post') {
echo "¡Esto es un post!";
}

// Resto del código que muestra el contenido del post

endwhile; endif;
?>

En la primera línea de la lista, verificamos si hay posts para mostrar con if (have_posts()). Esta es una estructura de control estándar del loop en WordPress.

Luego comenzamos el loop con while (have_posts()). Si hay posts disponibles, la función itera a través de ellos. the_post() prepara los datos del post, dejándolos listos para ser recuperados y mostrados.

En la segunda línea, $post_type = get_post_type(); llama a la función get_post_type para identificar el tipo de post del post actual en el loop. Guardamos el tipo de post recuperado en la variable $post_type.

La tercera línea inicia la verificación condicional del tipo de post. if ($post_type == 'post') { comprueba si el tipo de post del post actual es post. Si el tipo de post es efectivamente post, se ejecuta una declaración echo para mostrar el mensaje ¡Esto es un post!.

Finalmente, endwhile; endif; finaliza el loop y cierra la declaración if que comenzó el loop.

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 post son las diferentes categorías 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 post en particular en WordPress.

get_post_type puede ser muy útil para aplicar diseños o estilos específicos según el tipo de post o realizar acciones particulares, como mostrar un mensaje que identifique el tipo del post actual. Con suerte, ahora entendés mejor cómo funciona y cómo podés usarlo en tus proyectos.

Si encontraste útil este post, leé nuestro blog para obtener más información y guías sobre WordPress.