@MRcracker

Как вывести посты относительно даты поля acf?

Есть поле acf, которое содержит в себе дату. Как сделать так, чтобы посты на странице выводились относительно датны из данного поля, а не относительно даты публикации?
  • Вопрос задан
  • 63 просмотра
Пригласить эксперта
Ответы на вопрос 2
vladchv
@vladchv
WordPress Developer
На оф сайте ACF ведь есть инфа, че вы такие ленивые:

$posts = get_posts( array(
    'post_type' => 'event',
    'meta_key'  => 'date',
    'orderby'   => 'meta_value_num',
    'order'     => 'ASC',
));

if( $posts ) {
    foreach( $posts as $post ) {
        // Do something.
    }
}
Ответ написан
Комментировать
artzolin
@artzolin Куратор тега WordPress
php, WordPress разработка сайтов artzolin.ru
А если вам нужно изменить сортировку на архивной странице, там где основной цикл уже установлен, можете использовать этот пример:

add_action( 'pre_get_posts', 'skill_pre_get_posts', 1 );
if ( ! function_exists( 'skill_pre_get_posts' ) ) {
	function skill_pre_get_posts( $query ) {
		// Выходим, если это админ-панель или не основной запрос
		if( is_admin() || !$query->is_main_query() )
			return;

		if( $query->is_post_type_archive('event') ) {
			$query->set( 'meta_key', 'date' );
			$query->set( 'orderby', 'meta_value_num' );
			$query->set( 'order', 'ASC' );
		}

	}
}
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы