Плагин Wordpress, которые сериализируют пользовательские полевые данные

Действительно ли там какой-либо WP является плагином, который может сериализировать пользовательские полевые данные? Моя проблема следующая: например, Вы хотите создать "Информацию о книге" как сообщение, где Вы хотите добавить, например, Создать + Price пользовательские поля для каждого сообщения... Если Вы делаете это стандартный способ, которым WP создаст для Вас 2 строки в таблице для каждого пользовательского поля, которое Вы вводите. Предположите, что у Вас есть 1 000 книг, и у всех есть 5 пользовательских полей, затем его 5 000 строк с пользовательскими полевыми данными. Я хотел бы иметь только одну строку для каждого сообщения с пользовательскими полевыми данными... так сериализированными. Это возможно?

1
задан Cœur 5 August 2017 в 07:27
поделиться

2 ответа

Это возможно, но так вы потеряете много функциональности. С отдельными строками для каждого поля у вас есть возможность искать и индексировать на основе поля. Используя ваш пример, вы можете вывести список книг по цене или по автору.

С сериализованными полями вам пришлось бы сначала загрузить всю информацию о книге, затем разобрать весь массив на стороне сервера, чтобы отсортировать его перед возвращением в браузер. Это потребует гораздо больше накладных расходов и значительно замедлит работу.

Поэтому, хотя сериализация полей возможна, это не является рекомендуемым использованием пользовательских полей. Похоже, что вас больше всего беспокоит количество строк в базе данных... и даже при 1000 книг с 5 пользовательскими полями это не является серьезной проблемой. Я запускал установки WordPress с 10 000 постов с 10 пользовательскими полями в каждом без каких-либо проблем с производительностью.

2
ответ дан 2 September 2019 в 22:48
поделиться

Я сделал нечто подобное. Требуется некоторая работа, чтобы правильно программировать ... Вам нужно захватить данные POST, когда они вставлены в базу данных. Вы также можете запросить все настраиваемые поля в сообщении, добавить их в массив, сериализовать и вставить их, а затем удалить исходные записи.

Я бы подключил эту функцию к действию save_post .

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

Я не считаю 50 000 строк недопустимым. Конечно, меньше боли, чем пытаться делать что-то таким образом.

0
ответ дан 2 September 2019 в 22:48
поделиться
Другие вопросы по тегам:

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