Как добавить выбор рубрики в acf_form()?

Ссылка скопирована
PHP
1 ответ

Делаю страницу добавления записей с фронта

<?php while ( have_posts() ) : the_post(); ?>     <?php acf_form(array(         'post_id'       => 'new_post',         'new_post'      => array(             'post_type'     => 'post',             'post_status'   => 'publish'         ),         'post_title' => true,         'post_content' => true,         'submit_value'  => 'Create new event'     )); ?>     <?php endwhile; ?>

<?php while ( have_posts() ) : the_post(); ?> <?php acf_form(array( 'post_id' => 'new_post', 'new_post' => array( 'post_type' => 'post', 'post_status' => 'publish' ), 'post_title' => true, 'post_content' => true, 'submit_value' => 'Create new event' )); ?> <?php endwhile; ?>

А как еще добавить выбор рубрики в какую добавить запись?
Что то в доках не найду

Дополнительно:

все произвольные поля которые вы добавите для этой формы будут выводится на фронте, хоть анкету с фото, тегами, категориями итд

  • Антон Литвиненко, так мне не произвольные поля нужно вывести а выбор рубрики куда пост добавить
  • rootnoroot,
    а выбор рубрики как должен выглядеть?
    acf_form существует для того чтобы можно было выводить кастомные поля на фронте при создании поста с фронта. выводите туда выбор рубрик и все
  • Антон Литвиненко, и каким образом?
    ну есть страница напр. page-add . php
    добавляю
    <?php while ( have_posts() ) : the_post(); ?>     <?php acf_form(array(         'post_id'       => 'new_post',         'new_post'      => array(             'post_type'     => 'post',             'post_status'   => 'publish'         ),         'post_title' => true,         'post_content' => true,         'submit_value'  => 'Create new event'     )); ?>     <?php endwhile; ?>

    <?php while ( have_posts() ) : the_post(); ?> <?php acf_form(array( 'post_id' => 'new_post', 'new_post' => array( 'post_type' => 'post', 'post_status' => 'publish' ), 'post_title' => true, 'post_content' => true, 'submit_value' => 'Create new event' )); ?> <?php endwhile; ?>

    выводится на ней форма ввода тайтла, контента, кнопка
    как туда добавить select выбора рубрики, в которую добавляется пост?
    на форуме вордпресс единственное, что получил ответ
    так это использовать фильтр ‘acf/pre_save_post’
    как его использовать ума не приложу

  • rootnoroot, создаете произвольные поля и привязываете их к постам. те же поля что будут видны при создании постов в админке будут видны и на фронте.
  • Антон Литвиненко, Спаибо большое. вы видимо не совсем поняли что нужно
    мне не поля нужны, мне дефлдтный выбор рубрики был нужен при добавлении с фронта поста
    в общем уже не актуально, сделал добавление с фронта с помощью WP User Frontend

    можете подсказать в следующем вопросе? буду очень благодарен, т.к вообще без понятия куда копать
    вопрос вроде не сложный, но ответа не найду нигде

  • Нужно решить такую задачу?

    Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.

    Заказать помощь
    Лучший ответ
    1
    Дмитрий К. Ответ

    В acf_form() выбор рубрики можно добавить двумя путями. Самый простой и правильный вариант — создать в ACF поле типа Taxonomy, выбрать таксономию category, включить сохранение термина и вывести это поле в форме.

    Если форма создаёт обычную запись, пример будет таким:

    acf_form([
        'post_id' => 'new_post',
        'new_post' => [
            'post_type' => 'post',
            'post_status' => 'draft',
        ],
        'field_groups' => [123],
        'submit_value' => 'Отправить',
    ]);

    acf_form([ 'post_id' => 'new_post', 'new_post' => [ 'post_type' => 'post', 'post_status' => 'draft', ], 'field_groups' => [123], 'submit_value' => 'Отправить', ]);

    В группе полей ACF добавьте поле «Рубрика»: type Taxonomy, taxonomy Category, appearance Select/Checkbox, Save Terms = Yes, Load Terms = Yes. Тогда выбранная рубрика сохранится как нормальный термин WordPress, а не просто как произвольное поле.

    Если нужно ограничить список рубрик, используйте фильтр ACF:

    add_filter('acf/fields/taxonomy/query/name=post_category', function ($args, $field, $post_id) {
        $args['include'] = [3, 8, 15];
        return $args;
    }, 10, 3);

    add_filter('acf/fields/taxonomy/query/name=post_category', function ($args, $field, $post_id) { $args['include'] = [3, 8, 15]; return $args; }, 10, 3);

    Не советую вручную рисовать <select> и потом отдельно парсить $_POST, если уже используется ACF. Так легко получить рассинхрон: в поле одно значение, а в реальных рубриках записи другое.

    Другие ответы (0)

    Пока нет других ответов. Будьте первым, кто поможет автору.

    Ответить на вопрос

    комментарий

    Ваш адрес email не будет опубликован. Обязательные поля помечены *

    Вам также может быть интересно