/ Сайтостроение / Wordpress / Вывод записей по дате

Вывод записей по дате

HIT

23.06.2015

1036

Запросы и условия связанные с датой.

Вывод записей по дате

Вывод записей сделанных в этот день игнорируя год. Если нужен год, то надо добавить вначале ‘year=’ . $today[«year»]-1 .

<?php $today = getdate();  
query_posts(  '&monthnum=' . $today["mon"] . '&day=' . $today["mday"]  . '&cat=2' . '&posts_per_page=-1' ); ?>                                                    

<?php if (have_posts()) : ?>

	<h2 class="headwidgit">Поздравляем с днём рождения!<h2>

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

		<a href="<?php the_permalink(); ?>"><?php the_title(); ?></a>

	<?php endwhile; ?>

<?php endif; ?>

<?php wp_reset_query(); ?>

Условие день недели =

<?php $dayofweek = date('l'); //Определяем текущий день недели ?>
<?php if ($dayofweek == Monday) : //Если день недели – понедельник ?>

какое-либо действие

<?php endif; ?>

Дни недели на-английском языке:

  • Monday
  • Tuesday
  • Wednesday
  • Thursday
  • Friday
  • Saturday
  • Sunday

На php есть альтернативное определение дня недели $dayofweek = date(‘w’, strtotime($date));. Оно должно выводить числовое значение дня недели 1-7 (причем 1-воскресенье).

Хитрый вывод именинников

Хитрость заключается в том, что в понедельник дополнительно выводим записи именинников за прошедшие два дня (субботу и воскресенье).

<?php
$today_day = date("d");	
$today_month = date("m");
$today_year = date("Y");

//echo date("w"); // день недели
//echo '<br>';	
//
$today = $today_year.'-'.$today_month.'-'.$today_day;
	
//echo $today;
//echo '<br>';
	
$date = new DateTime($today);
//$date = new DateTime('2019-09-02'); // для тестирования
//echo $date->format('Y-m-d');
?>                                                    
  
  
<?php if ($date->format('w') == 1) : //Если день недели – понедельник ?>  
	
	<?php $date->modify('-2 day'); // Возвращаемся на 2 дня назад
	query_posts('&monthnum='.$date->format('m').'&day='.$date->format('d').'&cat=2'.'&posts_per_page=-1');
	if (have_posts()) : ?>
	
		<?php include_once(TEMPLATEPATH."/hbd.php");  ?>

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

		<div class="maxheight clearfix">
			<a title="<?php the_title_attribute(); ?>" href="<?php the_permalink(); ?>">
			<?php if  ( has_post_thumbnail() ) { the_post_thumbnail ('people-thumb'); } ?>
			</a>
			<a href="<?php the_permalink(); ?>"><?php the_title(); ?></a>
			<?php $text = get_field(dolg); if($text!="") { echo "<small>".$text."</small>"; } ?>
		</div>

		<?php endwhile; ?> 
	
	<?php endif; ?>
	<?php wp_reset_query(); ?>
	
	<?php $date = new DateTime($today); // Обновляем дату
	$date->modify('-1 day'); // Возвращаемся на 1 день назад
	query_posts('&monthnum='.$date->format('m').'&day='.$date->format('d').'&cat=2'.'&posts_per_page=-1');
	if (have_posts()) : ?>
	
	<?php include_once(TEMPLATEPATH."/hbd.php");  ?>
	
	<?php while ( have_posts() ) : the_post(); ?>

		<div class="maxheight clearfix">
			<a title="<?php the_title_attribute(); ?>" href="<?php the_permalink(); ?>">
			<?php if  ( has_post_thumbnail() ) { the_post_thumbnail ('people-thumb'); } ?>
			</a>
			<a href="<?php the_permalink(); ?>"><?php the_title(); ?></a>
			<?php $text = get_field(dolg); if($text!="") { echo "<small>".$text."</small>"; } ?>
		</div>

		<?php endwhile; ?> 
	
	<?php endif; ?>
	<?php wp_reset_query(); ?>
	
	<?php $date = new DateTime($today); // Обновляем дату
	query_posts('&monthnum='.$date->format('m').'&day='.$date->format('d').'&cat=2'.'&posts_per_page=-1');
	if (have_posts()) : ?>
	
	<?php include_once(TEMPLATEPATH."/hbd.php");  ?>
	
	<?php while ( have_posts() ) : the_post(); ?>

		<div class="maxheight clearfix">
			<a title="<?php the_title_attribute(); ?>" href="<?php the_permalink(); ?>">
			<?php if  ( has_post_thumbnail() ) { the_post_thumbnail ('people-thumb'); } ?>
			</a>
			<a href="<?php the_permalink(); ?>"><?php the_title(); ?></a>
			<?php $text = get_field(dolg); if($text!="") { echo "<small>".$text."</small>"; } ?>
		</div>

		<?php endwhile; ?> 
	
	<?php endif; ?>
	<?php wp_reset_query(); ?>	
	
<?php else: ?>
	
	<?php query_posts('&monthnum='.$date->format('m').'&day='.$date->format('d').'&cat=2'.'&posts_per_page=-1');
	if (have_posts()) : ?>
	
		<?php include_once(TEMPLATEPATH."/hbd.php");  ?>
	
		<?php while ( have_posts() ) : the_post(); ?>

		<div class="maxheight clearfix">
			<a title="<?php the_title_attribute(); ?>" href="<?php the_permalink(); ?>">
			<?php if  ( has_post_thumbnail() ) { the_post_thumbnail ('people-thumb'); } ?>
			</a>
			<a href="<?php the_permalink(); ?>"><?php the_title(); ?></a>
			<?php $text = get_field(dolg); if($text!="") { echo "<small>".$text."</small>"; } ?>
		</div>

		<?php endwhile; ?> 
	
	<?php endif; ?>
	<?php wp_reset_query(); ?>	

<?php endif; ?>

Благодаря вызову include_once(TEMPLATEPATH.»/hbd.php»); мы единожды выводим фразу «С Днём рождения!».

Вывод записей за определенный месяц

<?php 
$args = array(
	'orderby' => 'date',
	'cat' => 2,
    'posts_per_page' => -1,
	'order' => ASC,
	'date_query' => array(
		array(
			'month' => 1 //январь
		),
	),
);
$my_query = new WP_Query( $args );
if( $my_query->have_posts() ) { 
echo 'Именинники января';
while ($my_query->have_posts()) : $my_query->the_post(); ?>

	<p><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></p> 

<?php endwhile; } 
wp_reset_query(); ?>

Поделится информацией с друзьями

  • Комментарии
  • Вложения

Добавить комментарий

Пока нет комментариев. Будь первым!

Вывод записей по дате
Навигация
Рекомендации для васНавигацияOpttour.ru
Спасибо! Наш менеджер свяжется с Вами в течении 5 минут.