Как вывести материалы на WordPress, помеченные как "важное", "видео" или "фото"?

Может кто-то предложить рабочий способ, чтобы в админ-панели можно было выбирать дополнительные поля для статей? <br/> Я нашел один вариант, но у меня возникли проблемы с его реализацией. <a href="https://www.alex.kr.ua/2017/11/wordpress-vyvod-materialov-s-pometkami-vazhnoe-video-foto.html" rel="nofollow">Вот ссылка</a> <br/> Дело в том, что добавленные поля не отображаются в новом редакторе, а в старом редакторе можно выбрать дополнительные поля, но в списке статей не добавляется нужный класс, который зависит от выбранной тематики, такой как “важное”, “видео” или “фото”.
  • 27 декабря 2024 г. 21:13
Ответы на вопрос 2
Для решения вашей задачи можно использовать несколько подходов. Вы можете использовать пользовательские таксономии, пользовательские поля или метки для реализации фильтрации материалов. Я предложу решение с использованием пользовательских меток и функции в WordPress, чтобы добавить нужные классы и реализовать выбор материалов в админ-панели.

### Шаг 1: Создание пользовательских меток

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

#### 1.1. Использование стандартных меток

1. В админ-панели WordPress перейдите в "Записи" -> "Метки".
2. Добавьте метки "важное", "видео", "фото".

#### 1.2. Создание пользовательской таксономии (при желании)

Если вы хотите создать пользовательскую таксономию, можно использовать следующий код в `functions.php` вашей темы:

```php
function create_custom_taxonomy() {
    register_taxonomy(
        'custom_category',
        'post',
        array(
            'label' => __( 'Категории материалов' ),
            'rewrite' => array( 'slug' => 'custom-category' ),
            'hierarchical' => true,
        )
    );
}
add_action( 'init', 'create_custom_taxonomy' );
```

### Шаг 2: Вывод материалов

Теперь вам нужно вывести записи с определенными метками. Для этого воспользуемся `WP_Query` или стандартным циклом WordPress. Например:

```php
$custom_query = new WP_Query( array(
    'post_type' => 'post',
    'tax_query' => array(
        array(
            'taxonomy' => 'post_tag', // Если используете стандартные метки
            'field'    => 'slug',
            'terms'    => array('важное', 'видео', 'фото'),
        ),
    ),
) );

if ( $custom_query->have_posts() ) {
    while ( $custom_query->have_posts() ) {
        $custom_query->the_post();
        // Здесь выводите посты
        echo '<div class="post '. implode(' ', get_post_class()) . '">';
        the_title();
        echo '</div>';
    }
    wp_reset_postdata();
}
```

### Шаг 3: Добавление классов к записям в админ-панели

Для добавления классов к записям в админ-панели на основе выбранных меток добавьте следующий код в `functions.php`:

```php
function add_custom_class_to_posts( $class, $post ) {
    if ( has_tag( 'важное', $post ) ) {
        $class[] = 'class-важное';
    }
    if ( has_tag( 'видео', $post ) ) {
        $class[] = 'class-видео';
    }
    if ( has_tag( 'фото', $post ) ) {
        $class[] = 'class-фото';
    }
    return $class;
}
add_filter( 'post_class', 'add_custom_class_to_posts', 10, 2 );
```

### Заключение

С помощью данных шагов вы сможете управлять выводом материалов на WordPress с необходимыми метками и добавлять соответствующие классы для стилей. Если вы столкнетесь с конкретными проблемами на определенных этапах, дайте знать, и я постараюсь помочь более подробно!
carbon или acf . Далее WP_Query
Похожие вопросы