@m4son

Как вывести медиафайлы по таксономии?

создал таксономию следующим кодом:
function wptp_add_location_taxonomy() {
  $labels = array(
    'name'              => 'Рубрики для медиа',
    'singular_name'     => 'Category_image',
    'search_items'      => 'Поиск рубрики',
    'all_items'         => 'Все рубрики',
    'parent_item'       => 'Родительская рубрика',
    'parent_item_colon' => 'Родительская рубрика:',
    'edit_item'         => 'Редактировать рубрику',
    'update_item'       => 'Обновить рубрику',
    'add_new_item'      => 'Добавить новую рубрику',
    'new_item_name'     => 'Имя новой рубрики',
    'menu_name'         => 'Рубрики для медиа',
  );
  $args = array(
    'labels'            => $labels,
    'hierarchical'      => true,
    'query_var'         => 'true',
    'rewrite'           => 'true',
    'show_admin_column' => 'true',
  );
  register_taxonomy( 'category_image', 'attachment', $args );
};
add_action( 'init', 'wptp_add_location_taxonomy' );


Прикрепил таксономию к фотографиям:
5cf6df2d94852304732241.jpeg

1) Как включить фильтрацию по этой таксономии (как выбор рубрики в записях) ?
2) Как вывести эти картинки ( по этой таксономии ) на странице, если некоторые картинки привязаны к записи, а некоторые нет ?
  • Вопрос задан
  • 123 просмотра
Пригласить эксперта
Ответы на вопрос 1
HeadOnFire
@HeadOnFire
PHP, Laravel & WordPress Evangelist
Создали таксономию вы правильно, все ок.

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

2. Что касается вывода на странице - все просто. Картинки это post type 'attachment'. Таксономия ваша - это обычная таксономия вашего post type. Соответственно, вы можете спокойно создавать кастомный запрос WP_Query для post_type attachment, и в нем подзапрос - tax_query по вашей таксономии category_image. Подробнее в документации.
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы