Enter
  • Blogs
  • Paso a paso
  • ¿Cómo probar si tu página actual de WordPress es un tipo de publicación personalizada?

Paso a paso / 6 min de lectura

¿Cómo probar si tu página actual de WordPress es un tipo de publicación personalizada?

closeup of a computer screen displaying PHP code

Si estás personalizando tu sitio y realizando acciones específicas para cierto contenido, puede ser útil probar si la página actual de WordPress es un tipo de publicación personalizada.

De esta manera, podés mostrar contenido personalizado, modificar el diseño o realizar cualquier otra acción condicional que necesites.

Este artículo te ayudará a identificar si tu página actual es un tipo de publicación personalizada. Contiene un código básico en PHP que podés insertar en tu archivo functions.php para lograr este objetivo.

Puntos Clave

  • Podés determinar si tu publicación es un tipo de publicación personalizada añadiendo un código personalizado en el archivo functions.php.
  • Este código personalizado puede contener lógica para mostrar el tipo de publicación actual, permitiéndote confirmar si es un tipo de publicación personalizada o no.
  • Otra opción es comparar el tipo de publicación actual con cada tipo de publicación predeterminado de WordPress para obtener una respuesta más inmediata. 

¿Por Qué Probar si la Página Actual de WordPress es un Tipo Personalizado?

Probablemente quieras probar si la página actual es un tipo de publicación personalizada para realizar acciones basadas en esta condición.

Por ejemplo, quizás quieras modificar ligeramente el pie de página en ciertos tipos de publicaciones personalizadas o mostrar un cuadro de texto en la parte superior de otros tipos de publicaciones personalizadas.

Aprender a identificar tipos de publicaciones personalizadas de forma programática te permite realizar estas acciones en los tipos de publicaciones correctos.

¿Cómo Probar si la Página Actual es un Tipo de Publicación Personalizada en WordPress?

Existen múltiples maneras de determinar si una publicación determinada es un tipo de publicación personalizada. Aquí te presentamos 2 métodos que podrías considerar para tu sitio.

Método #1: Usar la Función get_post_type para Mostrar el Tipo de la Publicación Actual

La función get_post_type recupera una cadena de texto con el tipo 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 barras laterales diferentes o campos personalizados para diferentes tipos de publicaciones.

En este caso, lo usaremos para determinar el tipo de la publicación actual. Si sabés el tipo de la publicación actual, podés determinar si es un tipo de publicación personalizada o no.

Colocá el siguiente fragmento de código PHP en el archivo functions.php de tu tema para verificar el tipo de la publicación actual y mostrar su tipo en un cuadro de texto:

/**
 * Determina el tipo de publicación y lo muestra al inicio de una publicación única
 *
 * @return string
 */

if ( ! function_exists( 'detect_and_display_post_type' ) ) :
    function detect_and_display_post_type ($content) {
        $current_post_type = get_post_type();
		if ( is_single() ) {
$content_type_text =
			'<div
				style="background-color: #333333;
				color: #ffffff;
				font-size: 22px;
				padding: 20px;
				margin-top: 30px;
				margin-bottom: 30px;
				border-radius: 8px;
				line-height: 1.6;
				text-align: center;"
				class="welcome-box">
				Esta publicación pertenece al siguiente tipo de publicación: ' . $current_post_type .
			'</div>';
            $content = $content_type_text . $content;
    }
    return $content;
}
endif;

add_filter('the_content', 'detect_and_display_post_type');

Después de colocar este fragmento en functions.php y guardar los cambios, deberías ver este cuadro de texto aparecer en la parte superior del contenido de cada publicación única en tu sitio:

Una publicación de blog de WordPress que muestra una pieza personalizada de HTML que aclara el tipo de publicación actual

En este caso, esta publicación pertenece a uno de nuestros tipos de publicación personalizados, blogs.

Método #2: Usar una Función para Comparar el Tipo de la Publicación Actual con Todos los Tipos de Publicación Predeterminados

Un enfoque más directo es comparar el tipo de publicación actual con cada tipo de publicación integrado que todas las instalaciones de WordPress traen.

Para hacer eso, podés crear una función personalizada que capture el tipo de publicación actual en una variable. Esta variable será una cadena de texto con el resultado de get_post_type().

Podés comparar esta cadena con las cadenas correspondientes a cada tipo de publicación predeterminado. Si la cadena corresponde a los tipos de publicación predeterminados, entonces la publicación no es un tipo de publicación personalizada. Si no coincide, entonces es un tipo de publicación personalizada.

Colocá el siguiente fragmento de código PHP en el archivo functions.php de tu tema:

/**
 * Verifica si la publicación actual es un tipo de publicación personalizada.
 *
 * @return string
 */
if ( ! function_exists( 'is_custom_post_type' ) ) :
	function is_custom_post_type($content) {
    // Obtiene el tipo de publicación actual.
    $post_type = get_post_type();

    // Verifica si el tipo de publicación existe y no es uno de los tipos de publicación predeterminados de WordPress.
    if ($post_type && !in_array($post_type, ['post', 'page', 'attachment', 'revision', 'nav_menu_item'], true)) {
$post_type_text =
		'<div
			style="background-color: #333333;
			color: #ffffff;
			font-size: 22px;
			padding: 20px;
			margin-top: 30px;
			margin-bottom: 30px;
			border-radius: 8px;
			line-height: 1.6;
			text-align: center;"
			class="welcome-box">
			Este no es un tipo de publicación personalizada.
		</div>';
        $content = $post_type_text . $content;
	return $content;
    } else {
$post_type_text =
		'<div
			style="background-color: #333333;
			color: #ffffff;
			font-size: 22px;
			padding: 20px;
			margin-top: 30px;
			margin-bottom: 30px;
			border-radius: 8px;
			line-height: 1.6;
			text-align: center;"
			class="welcome-box">
			Este es un tipo de publicación personalizada.
		</div>';
        $content = $post_type_text . $content;
	return $content;
	}
}
endif;

add_filter('the_content', 'is_custom_post_type');

Si tu publicación es personalizada, verás esto al inicio de tus publicaciones:

Una publicación de blog de WordPress que muestra una pieza personalizada de HTML que aclara que la publicación actual es un tipo de publicación personalizada

De lo contrario, verás este mensaje confirmando que no es un tipo de publicación personalizada:

Una publicación de blog de WordPress que muestra una pieza personalizada de HTML que aclara que la publicación actual no es un tipo de publicación personalizada

Si bien puede que no quieras necesariamente mostrar un cuadro de texto, esta función te proporciona un punto de partida para realizar acciones basadas en si una publicación pertenece a un tipo de publicación personalizada.

Probar si Tu Página de WordPress Actual es un Tipo de Publicación Personalizada

Como podés ver, podés determinar si una página de WordPress es un tipo de publicación personalizada añadiendo una función personalizada relativamente sencilla a tu archivo functions.php.

Una opción es mostrar el tipo de publicación actual en la página. Esto te permitirá confirmar si es un tipo de publicación personalizada.

Otra, más directa, es incluir lógica en tu función para comparar el tipo de publicación actual con cada tipo de publicación predeterminado. Esto te permitirá recibir una respuesta más inmediata sobre si es un tipo de publicación personalizada o no.

¡Si encontraste útil este artículo, visita nuestro blog y consulta nuestros recursos para desarrolladores para más ideas y guías!