Intereting Posts
WP добавляет -2 к концу моего slug. Где хранятся оригиналы, поэтому я могу их удалить? Как восстановить идентификатор сообщения ранее в последовательности «стрельба» администратора? Заказ результатов WordPress Как установить ссылку в меню Custom Post Type admin? Кнопка настройки JetPack JSON API не отображается сохранение данных меню выпадающего меню в пользовательском типе сообщений Путаница в том, как использовать персонализированные типы сообщений, пользовательскую таксономию или категорию? Переписывание в wordpress url Как вы держите свой живой и тестовый сервер? Проблема с выпуском содержимого короткого кода одиночная страница wordpress префикс для размещения постоянных ссылок без влияния на категорию permas Как получить все медиафайлы из категории сообщений db? Пользовательские поля как параметры типа публикации Почему переменная GET на одной странице сайта вызывает ошибку 404, когда переменная GET работает на другой странице сайта?

WordPress получает сообщения по дате без query_posts

Я хочу получать сообщения из последних 30 дней на боковой панели, но я не хочу использовать query_posts, есть ли способ достичь этого с помощью функции получения сообщений?

Да, просто добавьте фильтр, прежде чем вы его вызываете, и удалите его после того, как вы это сделаете

function filter_where_wpa89154($where = '') { //posts in the last 30 days $where .= " AND post_date > '" . date('Ym-d', strtotime('-30 days')) . "'"; return $where; } add_filter('posts_where', 'filter_where_wpa89154'); $args = array( 'posts_per_page' => 5, 'post_type' => 'post', 'post_status' => 'publish', 'suppress_filters' => false ); $posts = get_posts($args); remove_filter('posts_where', 'filter_where_wpa89154'); 

обратите внимание на 'suppress_filters' => false что и происходит с get_posts

Начиная с версии 3.7 вы можете использовать date_query http://codex.wordpress.org/Class_Reference/WP_Query#Date_Parameters

Таким образом, это будет выглядеть так:

 $args = array( 'posts_per_page' => 5, 'post_type' => 'post', 'post_status' => 'publish', 'date_query' => array( 'after' => date('Ym-d', strtotime('-30 days')) ), 'suppress_filters' => false ); $posts = get_posts($args);