Показать записи в предыдущем месяце

Мне удалось пропустить записи в текущем месяце в январе, но я пытаюсь получить сообщения за предыдущий месяц в декабре прошлого года. Я думаю, что здесь проблема может быть, что это 2014 год, а должности, которые я посещаю, – в 2013 году (декабрь). Я был бы признателен, если бы кто-нибудь мог решить проблему. Я прошел через полчища примеров, кодов и форумов WordPress, но не нашел ничего, что сработало бы.

<!-- PREVIOUS MONTH NEWS --> <?php $prevMonth = date('M', mktime(0, 0, 0, date('m'), 0, date('Y'))); $newsPrevArgs = array( 'cat' => 'news', 'monthnum' => $prevMonth, 'order' => 'DES', 'posts_per_page' => 5 ); ?> <div class="clearfix"></div> <h3 class="news-previous-month"><?php echo date('M Y', mktime(0, 0, 0, date('m'), 0, date('Y'))) ?></h3> <?php $previous_news = new WP_Query( $newsPrevArgs ); $isFirstNewsLoop = true; $newsItemNum = 0; // Loop through all news items while ( $previous_news->have_posts() ) { $previous_news->the_post(); ?> <?php echo '<div class="news-article news-article-' . $newsItemNum . ' ' . ( $isFirstNewsLoop ? 'news-article-current' : '') . '">'; echo '<span class="news-date">' . get_the_date('d M Y', '<strong>', '</strong>') . '</span>'; echo '<span class="news-thumb">' . get_the_post_thumbnail($page->ID, 'home-widget-210') . '</span>'; echo '<span class="news-title"><strong>' . get_the_title() . '</strong></span>'; echo '<span class="news-blurb">' . get_the_excerpt() . '</span>'; wp_reset_postdata(); echo '</div>' ?> <?php $newsItemNum +=1; $isFirstNewsLoop = false; ?> <?php } ?> 

Solutions Collecting From Web of "Показать записи в предыдущем месяце"

Это может быть простой вопрос PHP о том, как вы просите вернуть первую дату ()

 date('M', mktime(0, 0, 0, date('m'), 0, date('Y'))); 

возвращает Dec, а WP_Query – номер месяца. Сначала попробуйте изменить «M» на «m».

 date('m', mktime(0, 0, 0, date('m'), 0, date('Y'))); 

Если это не сработает, попробуйте использовать date_query и пропустите год.

Удачи!

Вам нужно будет использовать год в сочетании с monthnum.

 // Calculate month or year based on your WordPress timezone setting // As post date is based on the timezone you set on general setting page on wp-admin $current_month_num = date('m', current_time('timestamp') ); $current_month_year = date('Y', current_time('timestamp') ); // if current month number is less that 2, what's probably 1|January // then the last month will be 12|December // and year will be last year if( $current_month_num < 2 ) { $prev_month_num = 12; $prev_month_year = $current_month_year - 1; } // if month number is not less that 2, then previous month will be from current year else { $prev_month_num = $current_month_num - 1; $prev_month_year = $current_month_year; } // The query argument $newsPrevArgs = array( 'cat' => 'news', 'year' => $prev_month_year, 'monthnum' => $prev_month_num, 'order' => 'DES', 'posts_per_page' => 5 );