Intereting Posts
Как установить изображение с изображением (уменьшенное изображение) по URL-адресу изображения при использовании wp_insert_post ()? Добавление jQuery datepicker в Custom Post Type Metabox Как отредактировать тег <title> без использования устаревшей функции `wp_title ()? как получить 5 максимальное количество от пользовательской таксономии в wordppress сохранить новые данные в wp_options вне темы Изменить автора для настраиваемого типа сообщения Использование Wp_Query без цикла? Импорт изображений из одной самостоятельной установки WordPress в другую Отключить ссылку на медиа-файл на мобильных устройствах Можно ли использовать страницы для применения статического контента к каждому уровню таксономии? Включая стили и JS-файлы для работы с моим интерфейсом плагина Настройка файлов cookie в запросах API REST API WordPress Cron Job в Bookly Plugin add_image_sizes игнорирует размеры посевов и использует пропорции Проблема при отображении значения метаболизма для постоянной позиции post?

esc_url () не будет использовать https

Код на странице выглядит следующим образом:

if ( ! empty( $image ) ) : ?> <div class="headshot"> <img src="<?php echo esc_url( $image ); ?>" alt="Photo of <?php echo esc_attr( $author_name ); ?>"/> </div> 

Но когда изображение появляется на странице, оно использует http вместо https, как и остальная часть сайта.

Когда переходите к WP-коду, чтобы увидеть использование esc_url, это показывает мне это при использовании, но я не знаю правильного синтаксиса для использования протокола для https:

 <?php esc_url( $url, $protocols, $_context ); ?> 

esc_url никогда не принуждает URL-адрес к протоколу, он только проверяет и экранирует переданный URL-адрес от недопустимых символов, переменная $ protocols представляет собой массив допустимых (белый список) протоколов, не предназначенных для назначения целевого URL-адреса.

 // Forcing URL to https instead of http $YOUR_URL = esc_url($YOUR_URL); if( 'http' == parse_url($YOUR_URL, PHP_URL_SCHEME) ){ $NEW_URL = str_replace('http://', 'https://', $YOUR_URL); } 

Параметр $protocols принимает массив, поэтому:

 $protocols = array( 'https' ); 

Но «https» указан как значение по умолчанию, поэтому я не уверен, что это проблема. Я предполагаю, что есть фильтр, мешающий … clean_url например, или kses_allowed_protocols