Как организовать качественное использование кастомных полей в WordPress?

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

Есть проект для миграции на WP, неприличное количество метаданных, вложенность многоуровневая. Какие вопросы нужно решить:

1. Выбор плагина кастомных полей.
Как правило использовал ACF или Carbon, но то ли дело в новых версиях WP, то ли в самих плагинах - периодически сталкиваюсь с пропаданием содержимого некоторых полей. Искать каждый раз причины и бороться уже устал, задумался над возможной альтернативой, предложите варианты.
2. Бекапы отдельных страниц. Ревизии - хорошо, но это плохо работает с вышеописанными кастомными полями - не все, не всегда попадает под них, главная проблема вложенные повторители (repeater|complex), когда "слетает" целая ветка - это уже проблема. Как решить эту проблему?
3. Производительность. С кастомными полями и их инпутами стандартного `max_vars_input = 1000` резко становится мало, масштабироваться в правки php-конфига ощущается неправильным решением. Какие варианты?

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

Как организовать качественное использование кастомных полей в Wordpress?

Анатолий Куликов @anatoly_kulikov Помог ответ? Отметь решением! Банально, но переходить на кастомные таблицы и собственные функции по работе с данными. Быстрее вряд ли что будет.

  • Приплюсуюсь. Храните данные с полей в кастомных таблицах с нужными типами данных.

    А вообще, если не нужна фильтрация по всем этим делам, давно пора хранить все это в блоках, а не раздувать post_meta. В целом, перенос из post_meta в acf блоки не сложная задача, но объемная и аккуратная.

Ответы:

Свои произвольные таблицы с структурным хранением данных по типам. С индексами. Это самое производительное. Да - писать придется мигратор старых данных и небольшие функции и ли модели для выборки из своих таблиц
max_vars_input можно увеличить, но лучше с формы отправлять только те данные что нужны для этого типа записи. Т.е. для этого типа данных чтобы были не все поля в куче, а нужные только для этого типа записи.
тогда проблема переполнения устранится

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

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

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

Качественное использование кастомных полей в WordPress начинается с архитектуры: какие данные являются контентом, какие характеристиками, какие нужны для фильтров, а какие только для вывода. Не стоит складывать всё в произвольные поля без структуры.

Практичные правила:

  • для редактируемых полей используйте ACF/Meta Box/CMB2;
  • для повторяемых групп — repeater/flexible content;
  • для фильтрации и категорий — таксономии, а не meta;
  • для чисел храните чистые числа без текста;
  • для дат храните формат Y-m-d или timestamp;
  • для больших каталогов не злоупотребляйте meta_query.

Вывод ACF:

$price = get_field('price');
if ($price) {
    echo esc_html(number_format_i18n($price)) . ' ₽';
}

$price = get_field('price'); if ($price) { echo esc_html(number_format_i18n($price)) . ' ₽'; }

Если поле используется в запросах, заранее подумайте о производительности. meta_query по тысячам записей может тормозить. Для больших проектов иногда лучше отдельные таблицы или таксономии.

И главное: не храните в кастомных полях то, что должно быть обычным контентом редактора. Поля нужны для структурированных данных, а не для замены всей статьи.

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

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

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

комментарий

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

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