Выбор постов в Wordpress - PullRequest
       6

Выбор постов в Wordpress

0 голосов
/ 22 апреля 2011

Я новичок в Wordress и PHP.Мне нужно отобразить все сообщения с июня 2009 года по июнь 2010 года. Как я могу это сделать, создав собственный цикл?

Ответы [ 2 ]

3 голосов
/ 22 апреля 2011

query_posts () просто позволяет показывать сообщения за определенную неделю или месяц. Тем не менее, вы можете показывать сообщения между двумя датами, добавив несколько строк кода. Вам нужно вставить этот код в любое место вашей темы.

<?php
      function filter_where($where = '') {
            $where .= " AND post_date >= '2009-06-01' AND post_date <= '2010-06-30'";
        return $where;
      }
        add_filter('posts_where', 'filter_where');
        query_posts($query_string);
        while (have_posts()) :
          the_post();
          the_content();
        endwhile;
    ?>

Источник: http://bit.ly/i5zXP0

1 голос
/ 19 сентября 2013

Использование WP Query Параметры времени

year (int) - год из 4 цифр (например, 2011). monthnum (int) - номер месяца (от 1 до 12). w (int) - неделя года (от 0 до 53). Использует команду MySQL WEEK. Режим зависит от опции "start_of_week". day (int) - день месяца (от 1 до 31). час (int) - час (от 0 до 23). минута (int) - минута (от 0 до 60). second (int) - Second (от 0 до 60). m (int) - YearMonth (например, 201307).

Возвращает сообщения только за текущую дату:

   $today = getdate();
   $query = new WP_Query( 'year=' . $today["year"] . '&monthnum=' . $today["mon"] . '&day=' . $today["mday"] );

Возвращает сообщения только за текущую неделю:

   $week = date('W');
    $year = date('Y');
    $query = new WP_Query( 'year=' . $year . '&w=' . $week );

Обратные сообщения за период с 1 по 15 марта 2010 года:

// Create a new filtering function that will add our where clause to the query
function filter_where( $where = '' ) {
// posts for March 1 to March 15, 2010
$where .= " AND post_date >= '2010-03-01' AND post_date < '2010-03-16'";
return $where;
 }

 add_filter( 'posts_where', 'filter_where' );
 $query = new WP_Query( $query_string );
 remove_filter( 'posts_where', 'filter_where' );

Обратные сообщения от 30 до 60 дней

// Create a new filtering function that will add our where clause to the query
function filter_where( $where = '' ) {
// posts  30 to 60 days old
$where .= " AND post_date >= '" . date('Y-m-d', strtotime('-60 days')) . "'" . "    AND post_date <= '" . date('Y-m-d', strtotime('-30 days')) . "'";
return $where;
 }

 add_filter( 'posts_where', 'filter_where' );
 $query = new WP_Query( $query_string );
 remove_filter( 'posts_where', 'filter_where' );

Для более подробной информации нажмите здесь http://codex.wordpress.org/Class_Reference/WP_Query

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...