Как сделать пост статей по шаблону страницы через ACF?

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

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

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

Если шаблон применен к custom post type, то и acf поля нужно просто применить к этому же custom post type.
Тогда у каждой статьи в полях будет свой контент

Ответы:

Здравствуйте, сложно понять суть вопроса. Так как по-умолчанию у разных статей с одним шаблоном на ACF будет разное содержание. Если вы по-другому сформулируете -- попробую ответить лучше

Отдельно рекомендую посмотреть плейлист, посвященный работе с ACF https://www.youtube.com/playlist?list=PLYZvo2o6P6b...
в первом роликие все крайне-подробно разобрано

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

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

Заказать помощь
Лучший ответ
1
Анна SEO Ответ

ACF-поля не становятся одинаковыми для всех записей только из-за того, что они привязаны к одному шаблону. Группа полей задаёт структуру, а значения сохраняются отдельно для каждой конкретной записи или страницы. Поэтому если всё настроено правильно, у каждой статьи будет свой title, текст, изображения и другие значения.

Проверьте два момента. Первый — группа ACF должна быть назначена на нужный тип записей или шаблон. Например: “Post Type is post” или “Page Template is article-template.php”. Второй — в шаблоне нужно выводить поля текущей записи, а не option-поля и не значения с фиксированного ID.

// Правильно: берём поле текущей записи
echo esc_html(get_field('article_subtitle'));
 
// Тоже можно явно:
echo esc_html(get_field('article_subtitle', get_the_ID()));
 
// Неправильно для обычной статьи, если не нужны общие настройки:
echo esc_html(get_field('article_subtitle', 'option'));

// Правильно: берём поле текущей записи echo esc_html(get_field('article_subtitle')); // Тоже можно явно: echo esc_html(get_field('article_subtitle', get_the_ID())); // Неправильно для обычной статьи, если не нужны общие настройки: echo esc_html(get_field('article_subtitle', 'option'));

Если Вы создаёте шаблон страницы, то в нём просто вызываете the_field() или get_field(). Когда открываете разные страницы с этим шаблоном, WordPress передаёт разный post_id, и ACF достаёт разные значения.

Если нужен именно custom post type “Статьи”, создайте CPT, назначьте группу ACF на этот CPT и сделайте файл single-your_cpt.php. Тогда каждая запись будет заполняться отдельно, а внешний вид останется единым. Шаблон отвечает за верстку, ACF — за поля, запись — за конкретный контент.

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

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

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

комментарий

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

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