Intereting Posts
Обновление сообщения WordPress или страницы занимает 60 секунд Render P2P метаболизм за период таксономии WP Rest API: информация о последнем сообщении, включая URL-адрес медиа-ресурса в одном запросе? Как изменить раскладку страницы магазина в WordPress? Получение подсчета короткого кода, который является вложенным Установка раздела героя / всплеска в виде сообщения в блоге Как изменить запрос в taxonomy-custom.php для сортировки архивов терминов с помощью настраиваемого мета-поля? Есть ли документация жизненного цикла плагина? Добавление имени терминов из пользовательской таксономии, назначенной почтовой ссылке, отображаемой контуром wp_query на основе другой таксономии Как установить статическую главную страницу html Пагинация и несколько циклов Только импорт сообщений – последствия? Использовать значение по умолчанию для wp_customizer в выводе theme_mod? Добавление динамической таблицы стилей Схватил идентификатор сообщения под контуром WP, но все еще не мог напечатать заголовок сообщения

Самый быстрый способ перебирать все сообщения?

Мне нужно запустить фоновый процесс в плагине, который выполняет некоторую работу над всеми сообщениями в базе данных человека после установки плагина. Я очень новичок в работе с wordpress, поэтому мои исследования показали, что я могу использовать запрос wp, или я могу использовать «цикл».

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

Solutions Collecting From Web of "Самый быстрый способ перебирать все сообщения?"

«Loop» – это просто имя, данное while (have_posts()): the_post(); цикл, используемый для итерации по массиву сообщений, возвращаемых WP_Query() . Другая функция, используемая для запросов к сообщениям, – это функция get_posts (), которая возвращает простой (не расширенный) массив, который вы можете пропустить с помощью цикла foreach .

Я не думаю, что это имеет большое значение; однако, если вы используете get_posts() метод get_posts() немного быстрее и менее интенсивно для памяти, так как он не вызывает setup_postdata() (который заполняет теги шаблона и т. д.) на каждом посту, которое он проходит.

В любом случае, вероятно, у вас на некоторых настройках будет нехватка памяти с тысячами сообщений … Убедитесь, что вы построили резервные копии в этом случае.

«Цикл» – это просто имя, применяемое к циклу foreach, примененному к объекту WP_Query. Поэтому вам нужны оба. Как правило, цикл также включает the_post (), чтобы вы могли использовать теги шаблонов.

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