HacheMuda

Blog personal de Guillermo Latorre

Resultados de la búsqueda de "":

Incluye tipos de contenido personalizados en las plantillas de archivos y búsquedas de WordPress

En los temas de WordPress hay un fichero llamado archives.php que es el que se renderiza cuando el usuario está viendo una página de archivo de artículos. Por ejemplo cuando ve un listado de posts por categoría o por etiqueta. Se pueden crear plantillas específicas para cada tipo de archivo de artículos, como está explicado en la jerarquía de plantillas de los temas, en el Codex.

Por defecto, estas páginas de archivo solamente muestran los artículos de tipo “post” y las páginas. Si tienes definido algún tipo de contenido personalizado, por ejemplo “albums“, sus entradas no aparecerán.

Para modificar este comportamiento y que también aparezcan los tipos de contenido personalizado, en el fichero functions.php del tema tienes que añadir este código:

[php]
function hmuda_add_customtypes( $query ) {
if( is_category() || is_tag() && empty( $query->query_vars[‘suppress_filters’] ) ) {
$query->set( ‘post
type’, array(‘post’, ‘albums’));
return $query;
}
}
add_filter( ‘pre_get_posts’, ‘hmuda_add_custom_types’ );
[/php]

Con las búsquedas pasa tres cuartos de lo mismo, por defecto WordPress busca y muestra solamente en los tipos que vienen de serie: post y página. Si quieres que también la búsqueda y el listado de resultados se realice sobre las entradas del tipo de contenido “albums“, puedes añadir el siguiente código al fichero functions.php:

[php]
function hmudasearch( $query ) {
if ( $query->is
search ) {
$query->set( ‘post_type’, array( ‘post’, ‘page’, ‘albums’ ));
}
return $query;
}
add_filter( ‘the_search_query’, ‘hmuda_search’ );[/php]

Enlace: