Плагин Wordpress, который сериализует данные пользовательских полей - PullRequest
1 голос
/ 23 июля 2010

Есть ли плагин WP, который может сериализовать данные пользовательских полей?Моя проблема заключается в следующем: например, вы хотите создать «Информацию о книге», например сообщение, в которое вы хотите добавить, например, Пользователь + пользовательские поля цены для каждого сообщения ... Если вы сделаете это стандартным способом, WP создаст для вас 2 строки в таблицекаждое пользовательское поле, которое вы вводите.Предположим, у вас есть 1000 книг, и у каждой есть 5 настраиваемых полей, а затем 5000 строк с данными настраиваемых полей.Я хотел бы иметь только одну строку для каждого сообщения с настраиваемыми полями данных ... так сериализовано.Это возможно?

Ответы [ 2 ]

2 голосов
/ 23 июля 2010

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

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

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

0 голосов
/ 23 июля 2010

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

Я бы подключил функцию к save_post action.

Настоящая проблема - попытаться обновить записи.Несериализация и заполнение набора настраиваемых полей на лету было бы довольно сложным.

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

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