Я думаю, що відповідь на ваше запитання зараз - «Ні».
Існує не простий спосіб запустити maybe_convert_table_to_utf8mb4
на сайтах, коли вони вже були оновлені понад WP 4.3 на сервері, який не відповідав вимогам, викладеним у цій публікації:
https://make.wordpress.org/core/2015/04/02/the-utf8mb4-upgrade/
Зауважте, що на основі перегляду вихідного коду WP здається, що вони перемістили цю програму з послідовності оновлення 4.2 до 4.3 (вона більше не присутня в 4.2, яка зараз зовсім не має оновлень), можливо, сподіваючись залучити більше користувачів.
Отже, це ваша відповідь, і це відстійно, але є більш точним, ніж інші ¯_ (ツ) _ / ¯
Зараз ми працюємо над створенням простого сценарію, який дозволяє запускати суть послідовності оновлення на основі гачка дій. Якщо ми зможемо зробити його стабільним і працездатним, ми спробуємо повернутися і поділитися ним тут для використання іншими.
Наш основний план - витягнути фактичну частину db upgrade_430()
, ізолювати її від системи оновлення db та запустити її вручну.
РЕДАКТУЙТЕ: РІШЕННЯ РОЗВ'ЯЗУ
Хоча не існує простого способу запустити скрипт, ось ручне кодування рішення, засноване на, upgrade_430()
але розроблене як спадне меню.
https://gist.github.com/carlalexander/4106cfaaf405cec454ba195631bcb6bc
Ви можете помістити це у плагін або просто вставити його у свою функцію.php. У будь-якому випадку це повинно бути НАВЧАЛЬНО.
Він налаштований для автоматичного запуску під час відвідування https://yoursite.com/?update-utf8bm4=1
Це гарантує, що воно працює лише один раз, і ви можете вибрати, коли (для великих баз даних це може зайняти деякий час, і ви не хочете, щоб хтось редагував публікацію, поки це відбувається).
Якщо ви не хочете мати тригер GET, просто видаліть add_action
частину та if (!isset($_GET['update-utf8bm4']))
деталь.
Знову ж таки: ЗАБЕЗПЕЧИТИ ЦЕ КОЛИ ЗАВЕРШЕННЯ, ви не хочете залишати такий тригер, як цей лежить навколо :)
maybe_convert_table_to_utf8mb4
(як і будь-яке оновлення WP)? Ви цього не сказали у відповіді;)