Как заставить редактор сообщений и медиабиблиотеку уважать режим администрирования HTTPS?

У меня есть сайт с включенным FORCE_SSL_ADMIN. Когда я редактирую сообщение со встроенным изображением или когда просматриваю изображения через медиабиблиотеку, они загружаются с использованием протокола http: //, а не https. Это приводит к предупреждению о смешанном содержании в IE, о котором клиенты беспокоятся.

Кто-нибудь имеет рекомендуемый подход для поиска / замены этих небезопасных URL-адресов изображений при просмотре их через администратора?

Интерфейс загружается через обычный http, поэтому я не хочу делать какие-либо замены в БД, которые заставят изображения загружать поверх https за пределами администратора.

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

Вы не можете сейчас. Это необходимо зафиксировать в ядре wordpress. Вероятно, это может быть временно обойдено для части проблем с плагином, но гораздо ценнее инвестировать время, развивая что-то в реальном исправлении wordpress.

К счастью, исправление для core.trac.wordpress.org/ticket/15928 планируется включить в следующий выпуск. До тех пор вы можете использовать следующий код для работы. ( Подкрепляется Эндрю Тетлоу для исправления. )

Добавьте его в файл functions.php вашей темы или поместите в файл (например, fix_ssl.php) и поместите его в папку wp-content / mu-plugins.

 function fix_ssl_siteurl ($ url) {
   if (0 === strpos ($ url, 'http') && is_ssl ())
     $ url = str_replace ('http: //', 'https: //', $ url);
   return $ url;
 }
 add_filter ('option_siteurl', 'fix_ssl_siteurl');
 add_filter ('option_home', 'fix_ssl_siteurl');
 add_filter ('option_url', 'fix_ssl_siteurl');
 add_filter ('option_wpurl', 'fix_ssl_siteurl');
 add_filter ('option_stylesheet_url', 'fix_ssl_siteurl');
 add_filter ('option_template_url', 'fix_ssl_siteurl');