@mibo

ACF for archive page?

Всем привет.
Использую плагин ACF для формирования дополнительных полей в постах wordpress.
Есть типа поста book и для него есть архивная страница archive-book.php
Как добавить дополнительные поля с помощью acf на страницу архива?
  • Вопрос задан
  • 1239 просмотров
Пригласить эксперта
Ответы на вопрос 2
HeadOnFire
@HeadOnFire
PHP, Laravel & WordPress Evangelist
Вопрос немного расплывчато поставлен.
Дополнительные поля постов вывести в постах на странице архива? get_field(), the_field(), как обычно.
Или - добавить дополнительные поля только для самой страницы архива?

UPDATE (из комментов):

Вам следует понять как вообще работают Custom Fields. Поля и их значения хранятся в базе данных в таблице wp_postmeta. Они привязаны внешним ключом в post_ID, то есть поле / поля привязаны к конкретному посту (любого типа - пост, страница, custom post type). Привязать абстрактно к странице архива не позволяет архитектура, то есть, Custom Fields не подходят для этой задачи.

Зато подходят другие решения. Самое простое и очевидное - таблица wp_options. Туда можно сохранять любые ключи с любыми значениями, которые не имеют явной привязки к какому-либо объекту (посту, странице, etc). Для работы с опциями есть функции add_option(), get_option(), update_option(), delete_option().

Если же речь идет только об архивах таксономий (рубрик, меток, custom taxonomies), то можете посмотреть в сторону termmeta. Это полный аналог wp_postmeta, который позволяет добавлять кастомные поля для терминов таксономий (не всей таксономии, а для конкретных терминов, то есть, конкретных рубрик или меток). В данный момент это не является стандартной таблицей, но в версии 4.4. (декабрь 2015), максимум 4.5 (апрель 2016) этот функционал уже будет добавлен в ядро. А пока можно воспользоваться плагином для этого - https://wordpress.org/plugins/wp-term-meta/

Что касается ACF для этих задач. Если у вас бесплатная версия, то этого функционала нет. Если у вас Pro версия, то в ней есть такая штука как Option pages - возможность создавать свои страницы настроек и наполнять нужными полями. Вот эта фича как раз и позволяет создать страничку настроек, добавть в нее поля с привязкой к архивам и создать нужные настройки и поля, чтобы решить вашу задачу. Но, повторюсь, это только в ACF 5 Pro (в 4й весрии это отдельный модуль для страниц опций, но нет смысла сейчас покупать лицензию на 4ю версию).
Ответ написан
@dariabichan
Столкнулась с такой проблемой тоже. Вот решение: просто в файле архива archive-slug.php укажите явно в параметрах функции the_field (или get_filed) ID поста - the_field('name', 4575);.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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