Поддержка Проблемы и решения Сортировка такс. по доп полю

  • Здравствуйте, есть таксономия с актерами. Добавил дополнительные поля, для данной такс., одно из которых это дата рождения актера. Хочу сделать вывод актеров, которые сегодня родились.

    Вся информация с доп. полями хранится в таблице  wp_termmeta
    Выглядит так:
    term_id — 1732 (это id таксономии актера)
    mata_key — txseo_goda_aktera
    mata_value — 12.08.1995


Просмотр 6 ответов — с 1 по 6 (всего 6)
  • Сортировка или фильтрация?

    Фильтр. Чтобы выводить только тех актеров у кого сегодня ДР.

    mata_value — 12.08.1995

    Формат поля текстовый или дата?
    Если дата, то получите сегодняшнюю дату и сравните с датой из поля
    https://php.ru/manual/function.date.html
    Если текстовый, то сначала надо преобразовать

    Пример можно, как сравнить?

    Добавьте в запрос

      'meta_query' => array(
            array(
                'key' => 'txseo_goda_aktera',
                'value' => '12.08.',//текущий день и месяц
                'compare' => 'LIKE'
            )
        ),
    • Ответ изменён 9 месяцев, 3 недели назад пользователем qwert555.

    Я так понимаю полностью код должен выглядеть вот так:
    Но в итоге выводит сразу всех актеров, фильтр не срабатывает. Возможно потому что доп. поля хранятся в отдельной таблице wp_termmeta

    $terms = get_terms ( 'akter', array( 	
    	  'meta_query' => array(
            array(
                'key' => 'txseo_goda_aktera',
                'value' => '12.08.',//текущий день и месяц
                'compare' => 'LIKE'
            )
        )
    	)
    );
    
    if( $terms && ! is_wp_error($terms) ){		
    	echo '<ul class="akt">';
    	foreach( $terms as $term ){		
    	
    		echo '<li><a href="' . get_term_link( $term ) . '"><img src="'.z_taxonomy_image_url($term->term_id, 'thumbnail').'" alt="" ><b>' . $term->name . '</b><i>дорам: '. $term->count .'</i></a></li>';
    	}
    	echo '</ul>';
    }
Просмотр 6 ответов — с 1 по 6 (всего 6)
  • Тема «Сортировка такс. по доп полю» закрыта для новых ответов.