Foros del Web » Creando para Internet » Sistemas de gestión de contenidos » WordPress »

Incrustar una seccion con formato blog dentro de una pagina de wordpress

Estas en el tema de Incrustar una seccion con formato blog dentro de una pagina de wordpress en el foro de WordPress en Foros del Web. Buenas, Tengo un problema, resulta que dispongo de un menu horizontal desplegable con páginas y sub-paginas. Hasta aquí bien. El problema viene cuando quiero que ...
  #1 (permalink)  
Antiguo 24/04/2009, 02:00
Avatar de neodani  
Fecha de Ingreso: marzo-2007
Mensajes: 1.811
Antigüedad: 17 años, 1 mes
Puntos: 20
Incrustar una seccion con formato blog dentro de una pagina de wordpress

Buenas,

Tengo un problema, resulta que dispongo de un menu horizontal desplegable con páginas y sub-paginas. Hasta aquí bien.

El problema viene cuando quiero que dos páginas de ese menu horizontal, no quiero que sean páginas sino que tengan forma de entradas de blog. (Este es el punto 1)

Pero por si fuera poco mi problema, debo diferenciar de alguna manera las entradas que se introduzcan en cada página-blog.

Con un ejemplo se verá mejor:
En el menu principal existe una página llamada "Noticias y Newsletter". De alguna forma cuando escriba entradas en el blog, tengo que diferenciarlas poniendo algun tag o categoria "noticias".
Porque también tengo otra página llamada "Agenda" donde también tiene que tener forma de blog, pero claro no debe aparecer todas las entradas de la web, solo aquellas cuya categoria o tag sea por ej. "Agenda".

Se entiende lo que quiero conseguir?

Mis pruebas, creo que una de las cosas que tengo que hacer es crear una plantilla con forma de blog para aplicar a mis dos páginas que quiere tener forma de blog.

Gracias de antemano
  #2 (permalink)  
Antiguo 24/04/2009, 09:52
Avatar de lucasan
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: Cali - Colombia
Mensajes: 1.144
Antigüedad: 16 años, 10 meses
Puntos: 59
Respuesta: Incrustar una seccion con formato blog dentro de una pagina de wordpress

Eso lo puedes organizar con categorías.

Te explico:

- Categoria Noticias
- Categoria Agenda

Ahora supongamos que quieres solo mostrar las entradas de la categoría Noticias, lo primero que debes hacer (luego de crear la categoría por su puesto) es averiguar el ID de la categoría.
No se si hay una forma mas adecuada, pero lo que yo hago es ir al menú categorías y poner el mouse sobre la categoría (link), en la parte inferior del navegador muestra la url y el numero del final es el ID.

Supongamos que Noticias tiene el ID 5.

Crea un archivo llamado category-5.php y ahi van a quedar todas tus entradas que crees en la categoría 5 (Noticias en nuestro supuesto caso).

Aqui puedes ver mejor de que te hablo http://codex.wordpress.org/images/1/..._Hierarchy.png

Esa es la forma en que Wordpress busca el contenido a mostrar.

Ahora, si necesitas excluir alguna categoría de alguna página vas a usar query_posts()

ej:

Código PHP:
<?php query_posts("exclude=12"?> // esto excluye de la consulta las entradas de la categoria 12

<?php if(have_posts()): while(have_posts()): the_post(); ?>

// tus cosas

<?php endwhile; ?>

// tus cosas

<?php endif; ?>
Espero haber sido claro (me demoré bastante intentando que lo fuera )

Saludos.
__________________
Plan Original Desarrollo Web
~$>sudo apt-get install -f
"Asi debería arreglarse todo en la vida"
  #3 (permalink)  
Antiguo 24/04/2009, 14:37
Avatar de neodani  
Fecha de Ingreso: marzo-2007
Mensajes: 1.811
Antigüedad: 17 años, 1 mes
Puntos: 20
Respuesta: Incrustar una seccion con formato blog dentro de una pagina de wordpress

Cita:
Iniciado por lucasan Ver Mensaje
Eso lo puedes organizar con categorías.

Te explico:

- Categoria Noticias
- Categoria Agenda

Ahora supongamos que quieres solo mostrar las entradas de la categoría Noticias, lo primero que debes hacer (luego de crear la categoría por su puesto) es averiguar el ID de la categoría.
No se si hay una forma mas adecuada, pero lo que yo hago es ir al menú categorías y poner el mouse sobre la categoría (link), en la parte inferior del navegador muestra la url y el numero del final es el ID.

Supongamos que Noticias tiene el ID 5.

Crea un archivo llamado category-5.php y ahi van a quedar todas tus entradas que crees en la categoría 5 (Noticias en nuestro supuesto caso).

Aqui puedes ver mejor de que te hablo http://codex.wordpress.org/images/1/..._Hierarchy.png

Esa es la forma en que Wordpress busca el contenido a mostrar.

Ahora, si necesitas excluir alguna categoría de alguna página vas a usar query_posts()

ej:

Código PHP:
<?php query_posts("exclude=12"?> // esto excluye de la consulta las entradas de la categoria 12

<?php if(have_posts()): while(have_posts()): the_post(); ?>

// tus cosas

<?php endwhile; ?>

// tus cosas

<?php endif; ?>
Espero haber sido claro (me demoré bastante intentando que lo fuera )

Saludos.
Muchas gracias lucasan!

Voy a probarlo y te digo como fue. Muchisimas gracias por el tiempo que te tomaste
  #4 (permalink)  
Antiguo 26/04/2009, 12:53
Avatar de neodani  
Fecha de Ingreso: marzo-2007
Mensajes: 1.811
Antigüedad: 17 años, 1 mes
Puntos: 20
Respuesta: Incrustar una seccion con formato blog dentro de una pagina de wordpress

Cita:
Iniciado por lucasan Ver Mensaje

Supongamos que Noticias tiene el ID 5.

Crea un archivo llamado category-5.php y ahi van a quedar todas tus entradas que crees en la categoría 5 (Noticias en nuestro supuesto caso).
.
Buenas,

He creado el archivo category-1.php donde el 1 es el ID de noticias en mi blog. Pero el contenido de category-1.php debe ser tal cual lo pusiste arriba?

No me funciona.

También lo he probado de otra forma. En la página Agenda donde debe ir las entradas de la categoria Agenda, he creado un plantilla.

Código PHP:
<?php
/*
Template Name: Blog Agenda
*/
?>
<?php get_header
(); ?>

    <div id="content">

    <?php query_posts("exclude=1"?>
        <?php if (have_posts()) : while (have_posts()) : the_post(); ?>
        
        <div class="post" id="post-<?php the_ID(); ?>">
        
                    
        <h2 class="pagetitle"><?php the_title(); ?></h2>
            <div class="entry clearfloat">
                <?php the_content(); ?>

                <?php wp_link_pages(array(
                
'before' => '<p><strong> '.__('Pages:','Mimbo').' </strong>'
                
'after' => '</p>'
                
'next_or_number' => 'number')); 
                
?>

            </div>
        </div>
        
        <!--<?php comments_template(); ?>-->
        
        <?php endwhile; endif; ?>
    <?php edit_post_link(__('Editar esta página','Mimbo'), '<p>''</p>'); ?>
    </div>

<?php get_sidebar(); ?>

<?php get_footer(); ?>
Entonces mediante la administración del blog le he dicho que cuando muestre la página "Agenda" cargue esta plantilla. Sin embargo, la carga per me sigue mostrando todas las entradas de la categoría "noticias" cuando tengo puesto la linea del <?php query_posts("exclude=1") ?>

Qué hago mal??

Muchas gracias,
  #5 (permalink)  
Antiguo 26/04/2009, 12:59
Avatar de neodani  
Fecha de Ingreso: marzo-2007
Mensajes: 1.811
Antigüedad: 17 años, 1 mes
Puntos: 20
Respuesta: Incrustar una seccion con formato blog dentro de una pagina de wordpress

Conseguido utilizando

<?php query_posts("cat=-1") ?>

  #6 (permalink)  
Antiguo 26/04/2009, 13:29
Avatar de neodani  
Fecha de Ingreso: marzo-2007
Mensajes: 1.811
Antigüedad: 17 años, 1 mes
Puntos: 20
Respuesta: Incrustar una seccion con formato blog dentro de una pagina de wordpress

Ahora creo que tengo un problema en esa plantilla porque no consigo que me págine los resultados. Por defecto tengo puesto que solo se muestre 5 entradas por página. Dispongo de más de 8 entradas para esa categoría.

Sin embargo, me muestra 5 entradas, pero no hay manera de hacer que aparezca el paginador, para poder ver las otras entradas. Hasta he probado instalando un plugin paginador (WP Digg Style Paginatio)

Tengo que decir que en el resto de sitios la páginación funciona. Es mas, he copiado el mismo código y lo he pegado aquí pero no funciona. No sé cual es el problema.... me estoy desesperando...

Página que no funciona el páginador

Código PHP:
<?php
/*
Template Name: Blog Agenda
*/
?>
<?php get_header
(); ?>

    <div id="content">

    <?php query_posts("cat=-1"?>
        <?php if (have_posts()) : while (have_posts()) : the_post(); ?>
        
        <div class="post" id="post-<?php the_ID(); ?>">
                
        <h2 class="pagetitle"><?php the_title(); ?></h2>
            <div class="entry clearfloat">
                <?php the_content(); ?>

                <?php wp_link_pages(array(
                
'before' => '<p><strong> '.__('Pages:','Mimbo').' </strong>'
                
'after' => '</p>'
                
'next_or_number' => 'number')); 
                
?>

            </div>
        </div>
        
        <!--<?php comments_template(); ?>-->
        
        <?php endwhile; endif; ?>
    <?php edit_post_link(__('Editar esta página'), '<p>''</p>'); ?>
        <div class="navigation">
            <div class="alignleft"><?php previous_post_link('%link''« Entrada Anterior'?></div>
            <div class="alignright"><?php next_post_link('%link''Entrada Siguiente»'?></div>
        </div>    

        
    </div>

<?php get_sidebar(); ?>

<?php get_footer(); ?>
Página que si funciona single.php

Código PHP:
<?php get_header(); ?>

    <div id="content">

    <?php if (have_posts()) : while (have_posts()) : the_post(); ?>
 
     <?php 
      
// excludes this post from 'Related posts' in the sidebar
      
$GLOBALS['current_id'] = $post->ID
      
?>
  
        <div id="post-<?php the_ID(); ?><?php post_class('style'); ?>>
            <h2 class="posttitle"><?php the_title(); ?></h2>
    
         <!--<p class="postmetadata"><?php _e('Posted by','Mimbo'); ?> <?php the_author_posts_link('namefl'); ?> <?php _e('on','Mimbo'); ?> <?php the_time('n/d/y'); ?> &bull; <?php _e('Categorized as','Mimbo'); ?> <?php the_category(','?></p>-->
         
            <div class="entry clearfloat">
                <?php the_content('<p>'.__('Read the rest of this entry','Mimbo').'&raquo;</p>'); ?>

                <?php wp_link_pages(array(
                
'before' => '<p><strong> '.__('Pages:','Mimbo').' </strong>'
                
'after' => '</p>'
                
'next_or_number' => 'number')); 
                
?>
                </div>
                
            <?php the_tags('<span id="tags"><strong>'.__('Tagged as:','Mimbo').'</strong> '', ''</span>'); ?>
            
    <?php edit_post_link(__('Editar esta entrada','Mimbo'), '<p>''</p>'); ?>

</div>

    <!--<?php comments_template(); ?>-->

    <?php endwhile; else: ?>

        <p><?php _e('Sorry, no posts matched your criteria.','Mimbo'); ?></p>

<?php endif; ?>
        <div class="navigation">
            <div class="alignleft"><?php previous_post_link('%link''« Entrada Anterior'?></div>
            <div class="alignright"><?php next_post_link('%link''Entrada Siguiente»'?></div>
        </div>    
    </div>

<?php get_sidebar(); ?>
<?php get_footer
(); ?>
No veo donde puede estar el error. ¿Alguien me ayuda?
  #7 (permalink)  
Antiguo 26/04/2009, 13:38
Avatar de neodani  
Fecha de Ingreso: marzo-2007
Mensajes: 1.811
Antigüedad: 17 años, 1 mes
Puntos: 20
Respuesta: Incrustar una seccion con formato blog dentro de una pagina de wordpress

Solucionado.
Hacía falta poner esto:

<?php $paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
query_posts("cat=-1&paged=$paged");?>

El motivo:
http://elcofrecito.net/wordpress/sol...-en-wordpress/

Un saludo y gracias :)
  #8 (permalink)  
Antiguo 30/04/2010, 11:03
 
Fecha de Ingreso: abril-2010
Mensajes: 1
Antigüedad: 14 años
Puntos: 0
Respuesta: Incrustar una seccion con formato blog dentro de una pagina de wordpress

hola amigos tengo un problema, quiero mostrar todas mis entradas de mi sitio web en otra pagina.

por defaul en wordpress todas las entradas se muestran en home, yo hice otra pagina llamada mis publicaciones en la cuanl quiero mostrar todas mis entradas como le hago..??
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 09:38.