Hoy vamos a ver cómo mostrar el contenido de una página en lugar del listado de artículos de una categoría en concreto para Genesis Framework.
Por ejemplo, tenemos una categoría en nuestro blog que se llama ‘desarrollo web’, cuyo ‘slug‘ es desarrollo-web, y hemos creado una página con el mismo título y slug.
Si visualizamos la página, veremos que automáticamente lo que carga es el listado de posts, no el contenido de la página.
Si lo que necesitamos es que, en lugar del listado de posts, se muestre el contenido de la página del mismo nombre, deberemos crear una plantilla de categoría y sustituir el loop estandar de génesis por uno propio que tome el contenido de esa página:
1- Creamos una plantilla en nuestro child theme de Genesis con el nombre «category-slug.php». En nuestro ejemplo, hemos creado el archivo «category-desarrollo-web.php»
2- Editamos el archivo e indicamos que elimine el loop estándar y lo sustituya por una función propia y que oculte el título de la categoría:
remove_action( 'genesis_loop', 'genesis_do_loop' ); add_action( 'genesis_loop', 'child_do_custom_loop' ); remove_action( 'genesis_before_loop', 'genesis_do_taxonomy_title_description', 15 );
function child_do_custom_loop(){ $category = get_category(get_query_var('cat')); $page = get_page_by_path($category->slug); echo "".$page->post_title."
"; $content_post = get_post($page); $content = $content_post->post_content; $content = apply_filters('the_content', $content); $content = str_replace(']]>', ']]>', $content); echo $content; }
genesis();

A partir de aquí podríamos modificarlo según nuestras necesidades, también podríamos añadir al final del contenido de la página el listado de posts de la categoría o algunos en concreto.
¿Eres implementador o desarrollador WordPress?
En la Zona DPW encontrarás más recursos, tutoriales, plantillas, y una biblioteca de snippets para poder utilizar en tu día a día y ganar tiempo en tu trabajo:
ACCEDER AHORA
Comentarios
20 respuestas a «Mostrar una página en lugar del listado de artículos de una categoría en Genesis»
|
Olé olé olé!!!! que machine Esther! jajaja creo que le has dado en el clavo! muchas gracias!
Tengo que ir creando «category-slug» por cada categoria que tengo y ya esta. Lo que he visto que ahora las paginas las trata como «categorias» no como paginas. no?
Mas que nada prque tenia el plugin de «tabla de contenidos» que lo generaba con el TOC+ y ahora esa tabla de contenidos, que anteriormente si aparecia en la pagina, ahora al hacer esto de la category_slug no aparecen.
Es más. para editar el formato de «Layout Settings» -> «Choose Layout» de la pagina, he tenido que hacerlo editando la categoria (WP-admin/Entradas->Categorias), no cogía la configuración que tenia en la «pagina».
¿Puede ser posible? Como se tendría que tratar para que volviera a salir el indice de cotenidos en las páginas correspondientes?
|
Hola!
Si, haciéndolo de esta forma, lo que se está mostrando es la categoría, pero con el contenido de la página, por eso el layout manda el de la categoría y no te muestra el TOC+.
Para que te la muestre, puedes añadir en el código de la plantilla la instrucción siguiente:
Si lo que necesitas es que se mantenga como página, puedes probar la otra forma que comentábamos, y es crear una redirección en .htaccess de la url de la categoría a la url de la página (tendrán que ser diferentes).
Saludos!
|
Gracias por la ayuda, pero creo que:
echo ».toc_get_index( $content_post->post_content ).»;
no funcionando en la categoria, sigue sin mostrarlo.
nota: lo he puesto asi en el archivo de la category-slug
remove_action( ‘genesis_loop’, ‘genesis_do_loop’ );
add_action( ‘genesis_loop’, ‘child_do_custom_loop’ );
remove_action( ‘genesis_before_loop’, ‘genesis_do_taxonomy_title_description’, 15 );
echo ».toc_get_index( $content_post->post_content ).»;
genesis();
|
Lo pongo aquí, el código que nos ha facilitado Esther, se tiene que colocar en «funcions.php» no en category-slug aunque no sale la configuración que tengas del TOC+ sino que lo muestra todo tal cual.
Si encuentro algo de como hacerlo, ya lo pondré aquí.
lo dicho, muchas gracias Esther por tu ayuda.
|
Hola!
Sí, como siempre, hay diferentes formas de conseguir lo mismo, lo importante es que nos funcione 😉
A mi si que me funciona en el archivo de category-slug, pero poniéndolo dentro de la función del custom loop:
Saludos!
|
🙂 que rápida! de mostrarlo lo muestra. pero en mi caso, ni coje el formato de «mostrar/ocultar» ni funciona las anclas del indice.
|
Perdona otra vez. tambén he visto que los comentarios, tampoco aparecen en la «página».
|
Hola de nuevo Esther. he estado probado a ver la forma de mostrar tanto el TOC+ como los comentarios en ese formato y no tengo forma de hacerlo funcionar.
Incl, he copiado los div que lo contienen poniendolo en el archivo de funciones que me has comentado, pero o bien hago algo mal. o no tengo forma de mostrarlo.
¿A ti te funcionaba cuando lo probaste?
|
Hola Ana!
Yo no lo probé en el functions.php, sino en el archivo de plantilla, y me mostraba la tabla pero sin formato, como me indicaste. No he tenido tiempo de volver a probar más! Si tengo un rato para mirar de que salga con formato te lo digo, pero yo probaría intentando mostrar shortcode de TOC+
Saludos!
|
Buenas de nuevo Esther! me rindo. jeje he probado y rebuscado, y no consigo hacer que funcione ni el dichoso toc, ni que salgan los comentarios en la «categoría» ni arreglar el breadcum Estás en:Inicio / Archives for depiladoras eléctricas. Todo o demás ya esta, creo, que funcionando. bién. Me tiene buscando y buscando sin exito de momento. en fin muchas gracias por todo.
|
Hola Ana! Y no te sería más fácil hacer una redirección desde la url de la categoría a la página que quieres que aparezca? Así no te lías con código y plantillas…
Saludos!
|
Hola de nuevo! Pues si te digo la verdad no sabría hacer esta redirección. Y a nivel de posicionar la pagina daría igual?
|
Hola, he encontrado esto que creo que puede servir para llevar el formato y hacer que funcione, verdad? dublue.com/plugins/toc/#For_developers
un saludo y buen finde!
|
Hola Ana!
Síii, creo que esto servirá. ¿Lo has probado?
Saludos y gracias!!
|
Hola! pues si te digo la verdad, no se que puedo probar ahi.. he puesto esos ejemplos ( los codigos ) en el funciones.php pero no noto diferencia. y nose que probar más..
|
Hola Ana! Aquí en comentarios es complicado aclarar todo lo que hemos comentado. En cuanto pueda preparo un artículo recopilando y explicando cómo lo haría yo.
Saludos!
|
Genial, lo espero porque estoy estancada ya. Muchas gracias.
|
Hola Esther, antes de nada felices fiestas! Jeeje me podrás avisar cuando puedas hacer el post como harias tu, lo que me gustaria hacer yo. Muchas gracias!
|
Hola Ana! Felices Fiestas! No me olvido de ti… estoy preparando el lanzamiento en próximas fechas de la Zona Premium y me ha sido imposible preparar el tutorial, pero en cuanto pueda lo preparo.
Saludos!
|
Gracias Esther! un saludo!