WordPress, отримання метаданих для всіх типів публікацій у списку списку


9

У мене виникає проблема в WordPress, де PHP вмирає. Я збільшив пам’ять, але процес PHP переходить до 100% використання процесора, потім гине, і Apache видає помилку 500.

Я намагався змусити Apache щось записати, або PHP / MySQL, щоб увімкнути помилку, але нічого не реєструється, крім загальної помилки 500.

Випуск 500 знаходиться на сторінці списку, наприклад:

/wp-admin/edit.php?post_type=artist

Наразі в WordPress є понад 1200 записів виконавців, якщо я додаю такий тип дати:

/wp-admin/edit.php?post_type=artist&orderby=date

Тоді список завантажується добре, швидко навіть! Я сидів і дивився журнал запитів MySQL, і здається, що WordPress завантажує метадані для кожного окремого допису (усіх 1200), щоб створити список з 10 або близько того. Для одного лише запиту повертається 92000 рядків. Я використовую Advanced Custom Fields та шаблон із власною рамкою, тому до кожної публікації додається неабиякий фрагмент метаданих. Я думаю, що це занадто багато даних для PHP, щоб обробити, і я тут вражаю стелю. 1200 публікацій, ймовірно, легко подвоїться протягом наступного року.

Як я можу змусити початкове завантаження сторінки додати сортування дати або виправити проблему з завантаженням усіх цих метаданих?


Ви намагалися вимкнути ACF та будь-які інші плагіни? Я думаю, що колись у мене було подібне питання, і я вважаю, що винуватцем тут є не сам WP, а ACF. наприклад, ACF додає метадані до ревізій, а потім завантажує все це. Переконайтеся, що джерело цього питання, оскільки воно допоможе іншим людям, які допомагають вам.
kraftner

Привіт @kraftner ive відключив ACF, і це не змінило жодної зміни.
Пол Каллен

Скільки пам’яті ви використовуєте у wp-config (WP_MAX_MEMORY_LIMIT)? Яке значення PHP.INI для memory_limit? Спробуйте підняти їх до максимуму. Також я перегляну ваш файл конфігурації mysql.
Емануель Роша Коста

Ive підвищив PHP та WP_MAX_MEMORY_LIMIT до 512 тимчасово без ефекту. Мій конфігураційний файл mysql: default-storage-engine=MyISAM innodb_file_per_table=1 max_allowed_packet=268435456 open_files_limit=10000 query_cache_size=64M log_slow_queries = 1 log-slow-queries=/var/log/mysql.slow.log log-error=/var/log/mysqld.log general_log_file = /var/log/mysql_general.log
Пол Каллен

1
чи є власна ієрархічна публікація типу "художник" (як сторінки)? .. якщо так, то це може бути винуватцем, оскільки всі повідомлення будуть запитуватися на інформаційній панелі адміністратора. Якщо ваша програма дозволяє, ви можете спробувати змінити ієрархічну на хибну для CPT "художника" і побачити, чи це полегшує проблеми з пам'яттю
locomo

Відповіді:


1

Спробуйте змінити ієрархічне: false у своєму визначенні CPT (якщо це дозволяє ваша програма).

Коли CPT встановлено на ієрархічний: true всі повідомлення будуть запитуватися на інформаційній панелі адміністратора, що може спричинити проблеми з пам'яттю.


0

Проблема полягала в тому, що CPT було встановлено на ієрархічну, переключивши це на ієрархічну: помилка у function.php вирішила проблему.


1
Будь ласка, прийміть власну відповідь, щоб це питання можна було закрити.
cjbj
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.