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

Mostrar en el index las entradas publicadas hace 2 días

Estas en el tema de Mostrar en el index las entradas publicadas hace 2 días en el foro de WordPress en Foros del Web. Buenos días. Ando buscando por el foro y después de probar varias cosas sigo sin conseguir mi objetivo. Quiero que en la página de inicio ...
  #1 (permalink)  
Antiguo 14/06/2012, 03:07
 
Fecha de Ingreso: julio-2010
Mensajes: 166
Antigüedad: 14 años, 3 meses
Puntos: 0
Pregunta Mostrar en el index las entradas publicadas hace 2 días

Buenos días.

Ando buscando por el foro y después de probar varias cosas sigo sin conseguir mi objetivo.

Quiero que en la página de inicio de mi Wordpress, donde actualmente me aparecen las 10 últimas entradas creadas, aparezcan sólo las entradas creadas hace 2 días.

No se si me explico, por ejemplo:


Lunes: Publico 2 entradas. (Entrada 1 y Entrada 2)

Martes: Publico 2 entradas. (Entrada 3 y Entrada 4)

Miércoles: Publico 2 entradas. (Entrada 5 y Entrada 6)

El resultado que deseo que muestra mi página de inicio sería el siguiente:

Lunes: No aparecen entradas publicadas el lunes, sino las que publiqué hace 2 días.

Martes: No aparezcan entradas publicadas el martes, sino las que publiqué hace 2 días.

Martes: No aparezcan entradas publicadas el miércoles, sino las que publiqué hace 2 días, es decir las publicadas el Lunes.

---------------
Con este código consigo mostrar las entradas publicadas hoy, supongo que editando algo ahi podría conseguir que se muestren las publicadas hace 2 días.

Código:
<ul>
<?php $today = getdate(); query_posts ('year=' .$today["year"] .'&monthnum=' .$today["mon"] .'&day=' .$today["mday"] .'&cat=1'); ?>

<?php while (have_posts()) : the_post(); ?>
<!-- Aquí cualquier cosa relativa a las categorías -->
<li>
<a href="<?php the_permalink() ?>" rel="bookmark" title="Enlace permanente a <?php the_title_attribute(); ?>"><?php the_title(); ?></a>
</li>
<?php endwhile;?>

</ul>
---------------

Nose si me explico bien pero es senzillo lo que quiero pero no hay manera de dar con la solución.

Toda respuesta será bienvenida, gracias.

Última edición por blogdv; 14/06/2012 a las 04:33
  #2 (permalink)  
Antiguo 14/06/2012, 07:45
Avatar de rogertm
Mod->Cuba
 
Fecha de Ingreso: julio-2005
Ubicación: /home/Cuba/Habana/rogertm/
Mensajes: 2.922
Antigüedad: 19 años, 4 meses
Puntos: 638
Respuesta: Mostrar en el index las entradas publicadas hace 2 días

Tienes que armar la query ajustando los parámetros de tiempo... http://codex.wordpress.org/Class_Ref...ime_Parameters

Saludos.
__________________
Friki y Blogger por Cuenta Propia:213
Twenty'em: Theming is Prose
  #3 (permalink)  
Antiguo 14/06/2012, 08:19
 
Fecha de Ingreso: julio-2010
Mensajes: 166
Antigüedad: 14 años, 3 meses
Puntos: 0
Respuesta: Mostrar en el index las entradas publicadas hace 2 días

Gracias, he intentado probar pero para que exactamente me muestre las entradas de hace 2 días no lo consigo..

Seguiré probando a ver si consigo dar con el código.

Un saludo
  #4 (permalink)  
Antiguo 14/06/2012, 08:55
Avatar de Nekko
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Buenos Aires
Mensajes: 3.141
Antigüedad: 16 años, 8 meses
Puntos: 656
Respuesta: Mostrar en el index las entradas publicadas hace 2 días

Jugá con algo como esto:

http://stackoverflow.com/questions/8...-by-date-range
Código PHP:
Ver original
  1. <?php
  2.   function filter_where($where = '') {
  3.    $where .= " post_date = '" . date('Y-m-d', strtotime('-2 days')) . "'";
  4.     return $where;
  5.   }
  6. add_filter('posts_where', 'filter_where');
  7. query_posts($query_string);
  8. ?>
__________________
Taller para crear themes wordpress desde cero | Presupuestos para trabajos particulares vía MP
  #5 (permalink)  
Antiguo 14/06/2012, 09:45
 
Fecha de Ingreso: julio-2010
Mensajes: 166
Antigüedad: 14 años, 3 meses
Puntos: 0
Respuesta: Mostrar en el index las entradas publicadas hace 2 días

Cita:
Iniciado por Nekko Ver Mensaje
Jugá con algo como esto:

http://stackoverflow.com/questions/8...-by-date-range
Código PHP:
Ver original
  1. <?php
  2.   function filter_where($where = '') {
  3.    $where .= " post_date = '" . date('Y-m-d', strtotime('-2 days')) . "'";
  4.     return $where;
  5.   }
  6. add_filter('posts_where', 'filter_where');
  7. query_posts($query_string);
  8. ?>

Muchísimas gracias, creo que por ahí se acerca la solución, pero debería integrar el código en el index o dónde?

A ver, en el index, la parte que me hace mostrar las entradas es este código: (Haber cómo debo integrarlo..)
Código:
<div <?php post_class() ?> id="post-<?php the_ID(); ?>">
                        <div class="title"><!--index -->
				<h2 class="<?php echo $h2class; ?>"><a href="<?php the_permalink() ?>" rel="bookmark" title="Permanent Link to <?php the_title_attribute(); ?>"> <?php the_title(); ?></a></h2>
                        </div>
  #6 (permalink)  
Antiguo 14/06/2012, 16:08
Avatar de Nekko
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Buenos Aires
Mensajes: 3.141
Antigüedad: 16 años, 8 meses
Puntos: 656
Respuesta: Mostrar en el index las entradas publicadas hace 2 días

Si querés hacer modificaciones en el bucle de wordpress, deberás primero leer sobre el mismo y examinar tu theme en profundidad

http://codex.wordpress.org/The_Loop
__________________
Taller para crear themes wordpress desde cero | Presupuestos para trabajos particulares vía MP
  #7 (permalink)  
Antiguo 16/06/2012, 03:46
 
Fecha de Ingreso: julio-2010
Mensajes: 166
Antigüedad: 14 años, 3 meses
Puntos: 0
Respuesta: Mostrar en el index las entradas publicadas hace 2 días

Gracias, sigo intentando.. en cuante de con la solución informo.

Un saludo a todos.
  #8 (permalink)  
Antiguo 16/06/2012, 12:29
 
Fecha de Ingreso: julio-2010
Mensajes: 166
Antigüedad: 14 años, 3 meses
Puntos: 0
Pregunta Respuesta: Mostrar en el index las entradas publicadas hace 2 días

He leído, he investigado un poco y tal y no hay manera de dar con la solución...
He intentado meter el código que me dió Nekko en el index, antes del <?php if (have_posts()) : ?> pero en mi idex.php no aparecen entradas y aparece como si no las encontrara (Sorry, nothing found! These might be of interest though...).

No sé donde puedo tener el error..
Os dejo el código que utilizo:

Código:
<?php
get_header(); 
global $ap_options;
if ($ap_options['excerpt']) $showex = true;?>

<?php
      function filter_where($where = '') {
       $where .= " post_date = '" . date('Y-m-d', strtotime('-2 days')) . "'";
        return $where;
      }
    add_filter('posts_where', 'filter_where');
    query_posts($query_string);
    ?>

	<?php if (have_posts()) : ?>
		<?php $i = 0; //counter to determine class ?>
		<?php while (have_posts()) : the_post(); ?>
			<?php $i++;
				if (ap_isodd($i)) {
					$h2class = 'h2odd';
				}else{
					$h2class = 'h2even';
				}
			?>
			<div <?php post_class() ?> id="post-<?php the_ID(); ?>">
                        <div class="title"><!--index -->
				<h2 class="<?php echo $h2class; ?>"><a href="<?php the_permalink() ?>" rel="bookmark" title="Permanent Link to <?php the_title_attribute(); ?>"><?php the_title(); ?></a></h2>
                        </div>

			</div>

		<?php endwhile; ?>
            
            <div class="navigation">
    		<div class="left"><?php previous_posts_link('&laquo; Anterior'); ?></div>
    		<div class="right"><?php next_posts_link('Siguiente &raquo;'); ?></div>
    		<div class="clear"></div>
            </div><!-- end navigation -->


	<?php else : ?>

		<div class="post">
				<div class="title">
					<h2>Sorry, nothing found!</h2>
				</div>
				<div class="clear"></div>
				<div class="entry no_result">
                              <br/>
                              <p>These might be of interest though...</p>
                              <ul>
                              <?php wp_get_archives('type=postbypost&limit=10'); ?>

                              </ul> 
                              
                              
				</div>
		</div><!-- end post -->

	<?php endif; ?>

	</div><!--end content-->


<?php get_footer(); ?>
Bueno haber si tenéis idea donde puede estar fallando porque esque no hay manera y mira que me estoy volviendo loco con esto...

Gracias

Última edición por blogdv; 17/06/2012 a las 03:20
  #9 (permalink)  
Antiguo 18/06/2012, 07:08
Avatar de rogertm
Mod->Cuba
 
Fecha de Ingreso: julio-2005
Ubicación: /home/Cuba/Habana/rogertm/
Mensajes: 2.922
Antigüedad: 19 años, 4 meses
Puntos: 638
Respuesta: Mostrar en el index las entradas publicadas hace 2 días

Según estoy viendo en el link que te pasé anteriormente, hay un ejemplo que es casi como el que puso @nekko, la única diferencia es que falta línea de remove_filter() al final y en lugar de query_posts usa $query = new WP_Query( $query_string ); entonces quedaría así:
Código PHP:
Ver original
  1. <?php
  2. function filter_where($where = '') {
  3. $where .= " post_date = '" . date('Y-m-d', strtotime('-2 days')) . "'";
  4. return $where;
  5. }
  6. add_filter('posts_where', 'filter_where');
  7. $query = new WP_Query( $query_string );
  8. remove_filter( 'posts_where', 'filter_where' );
  9. ?>
Lo otro que pueda estar pasando es que no tengas posts de hace dos días . Igual hecha un vistazo aquí http://php.net/strtotime

Lo otro es que ese código debes ponerlo en el archivo functios.php de tu theme...

Saludos.
__________________
Friki y Blogger por Cuenta Propia:213
Twenty'em: Theming is Prose
  #10 (permalink)  
Antiguo 18/06/2012, 08:43
 
Fecha de Ingreso: julio-2010
Mensajes: 166
Antigüedad: 14 años, 3 meses
Puntos: 0
Respuesta: Mostrar en el index las entradas publicadas hace 2 días

Muchísimas gracias, al fin lo conseguí probé mil cosas y finalmente di con el resultado.

Un saludo.
  #11 (permalink)  
Antiguo 18/06/2012, 18:32
Avatar de raid_  
Fecha de Ingreso: diciembre-2010
Mensajes: 132
Antigüedad: 13 años, 11 meses
Puntos: 12
Respuesta: Mostrar en el index las entradas publicadas hace 2 días

como lo conseguiste?

Etiquetas: entradas, index, página
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 22:49.