Intereting Posts
Получить общее количество пикселей, размер в мегапикселях и соотношение сторон на основе ширины и высоты изображения? Как добавить последние сообщения в меню, например mashable Как передать переменную на страницу с URL-адресом SEF? Как изменить статус персонализированного типа сообщений при публикации обновлений без администратора? Поле регистрации и профиля Shortcode не обрабатывается при добавлении в поле параметра с помощью wp_editor ajax обновить для отображения новых сообщений Получить идентификатор пользователя после входа в систему База данных пользовательского контента Невозможно получить все теги из определенных категорий Каждая новая запись / черновик имеет настраиваемую полевую переменную «yst_is_cornerstone», показывающая Крюк посередине через_content () ;? проблемы с слайдером – расследование с помощью firebug Пользовательская маршрутизация для плагинов Использование slug категории в правиле add_rewrite

get_previous_post в тех же категориях

У меня есть должность в двух категориях: 1 и 2.

Я хочу получить предыдущий пост в двух категориях: 1 и 2.

get_previous_post(true); 

С этим кодом я получаю предыдущий пост в категории 1 или 2.

Есть идеи?

Solutions Collecting From Web of "get_previous_post в тех же категориях"

get_previous_post использует get_adjacent_post() которого есть куча фильтрующих крючков, которые вы можете использовать, но гораздо более простой подход – создать вашу собственную функцию, что-то вроде этого:

 // Create a new filtering function that will add our where clause to the query function date_filter_where( $where = '' ) { global $post; $where .= " AND post_date >= '".$post->post_date."'"; return $where; } //then create your own get previous post function which will take an array of categories eg: // $cats = array('1','2'); function my_get_previous_post($cats){ global $post; $temp = $post; $args = array( 'posts_per_page' => 1, 'post_type' => 'post', 'post_status' => 'publish', 'category__and' => $cats ); add_filter( 'posts_where','date_filter_where' ); $q = new WP_Query($args); remove_filter( 'posts_where','date_filter_where' ); while ($q->have_posts()){ $q->the_post; echo '<a href="'.get_permalink($post->ID).'">'.get_the_title($post->ID).'</a>'; } $post = $temp; wp_reset_query(); }