Задать вопрос
@RETAND

Связка плагина Advanced Custom Fields Pro и WP User Frontend Pro или как вывести поля ACF во фронтэнд?

Здравствуйте! Подскажите кто сталкивался. Имеется задача сделать дополнительные поля к записям в вордпресс, и добавление этой записи (с доп. полями) через фронтэнд. Полностью устроил плагин Advanced Custom Fields с его полями, но найти рабочий плагин, который вывел бы его доп. поля на фронтэнд, не удается. Ставил WP User Frontend Pro, который умеет легко делать формы для фронтэнда, а так же имеет, похожие доп.поля как на ACF (меня не устроили). Где то вычитал что WP User Frontend Pro имеет возможность выводить поля других плагинов, в том числе ACF, но как это реализовать нигде не найду.
Оговорюсь сразу, по поводу документации к ACF - я видел раздел как сделать фронтэнд, но хочется пойти по пути наименьшего сопротивления.
Если ответа на вопрос связки ACF и WPUF не имеется, то подскажите пожалуйста другие решения. Спасибо!
  • Вопрос задан
  • 4032 просмотра
Подписаться 2 Оценить 2 комментария
Решения вопроса 1
HeadOnFire
@HeadOnFire
PHP, Laravel & WordPress Evangelist
Начните сначала. Чистый WordPress, потом Advanced Custom Fields (5ю версию берите), потом создаете нужную группу полей, потом выводите ее в виде формы на фронтенде с помощью родный функций ACF.

Я делал это, все работает. Поэтому, вероятнее всего, проблема на вашей стороне. Давайт идти пошагово и смотреть где что не работает.

UPDATE (из комментариев): Что касается самой формы:

1. Создаете кастомный шаблон, его нужно будет использовать для страницы на которой должна быть форма (шаблон в админке в редактировании страницы выбирается справа).
2. В самом шаблоне, сверху шапка файла такая:
<?php
/*
Template Name: ACF Form
*/
acf_form_head();
get_header();
?>

3. Далее в шаблоне, где нужно вывести форму, вставляете:
$args = array(
    'post_id' => 'new_post',
    'new_post' => array(
        'post_type' => 'YOUR_POST_TYPE',
        'post_status' => 'draft',
    ),
    'post_title' => true,
    'submit_value' => 'Создать',
    'updated_message' => 'Ваша запись поставлена в очередь на модерацию',
    'label_placement' => 'left',
);
acf_form( $args );

4. Все.

Что касается верстки - форма будет выводиться в верстке и стиле ACF, но можно отключить их CSS и запилить свой.
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
TenderFog
@TenderFog
Веб-дизайнер, Веб-мастер, Верстка
Игорь, спасибо Вам за ответ.
Можно парочку вопросов:

1) Не могу переименовать поля названия и содержание на свои, реально ли это?
2) Можно ли отдельные поля отключить для заполнения? Их не нужно выводить, только админ выводит.
3) Потестировал добавление. Форма отправляется. Но в амдинке не появляется почему то добалвенная новость.
Есть ли какая-то хитрость?
4) не знаете случайно как такую форму поместить в модалку, что бы выводить на разных страницах где есть вывод этого модального окна?
5) Как добавить возможность загрузки миниатюры?
Ответ написан
zextro
@zextro
webdev
Может, кому-то пригодиться

1) Не могу переименовать поля названия и содержание на свои, реально ли это?


add_filter( 'acf/get_valid_field', 'change_input_labels');
function change_input_labels($field) {
		
	if($field['name'] == '_post_title') {
		$field['label'] = 'Название';
	}
		
	if($field['name'] == '_post_content') {
		$field['label'] = 'Содержание';
	}
		
	return $field;
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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