Intereting Posts
Исключить первые 5 должностей определенных категорий в основном цикле Показать теги пользовательского типа сообщения за пределами цикла Переключение локалей с так называемой «языковой» таксономией Проверка формы почтового ящика Сохранение изображений из Gravity Forms repeatable Загрузка файлов в виде прикрепленных файлов Как выполнить запрос с помощью get_posts () для сообщений с любым тегом Рекомендуемый контент: в какой области это покрытие W3 Общий кэш, CDN и файлы тем Отображение сохраненных данных метаданных в раскрывающемся списке с выбранными () что такое x и число после js и css url? Как показать все фильтры с виджетами сетевого фильтра woocommerce Как подключиться к публикациям сообщений в WordPress 4.7.5 Проверьте, существует ли почтовый идентификатор в таблице, а не только обновление вместо вставки новой строки Пользовательский запрос Postype, показывающий только 10 результатов, должен показать 23 результата Поиск с использованием идентификатора сообщения

Удаление протокола http из изображений

Я ударился головой о стену, пытаясь отфильтровать мои сообщения, чтобы удалить http: protocol из img src, и я думаю, что, возможно, нашел решение. Кто-нибудь видит что-то не так с этим решением в цикле:

$content = get_the_content(); $content = str_replace(array('http:', 'https:'), '', $content); echo $content 

Solutions Collecting From Web of "Удаление протокола http из изображений"

Предоставленный вами код может вызвать проблемы с сторонними URL-адресами в гиперссылках, не запущенных https. Вы можете исправить это, включив свой домашний URL-адрес, например:

 $content = str_replace( set_url_scheme( home_url(), 'http' ), set_url_scheme( home_url(), 'relative' ), $content); 

Затем вы применяете это, когда хотите отображать контент, а это означает, что вам нужно сделать дополнительный шаг. А именно, вам нужно применить фильтр, называемый the_content который выполняет некоторую окончательную обработку, например создание абзацев и т. Д .:

 $content = get_the_content(); $content = str_replace( set_url_scheme( home_url(), 'http' ), set_url_scheme( home_url(), 'relative' ), $content); $content = apply_filters( 'the_content', $content ); echo $content 

Наконец, для максимальной совместимости просто вызовите the_content(); , и используйте фильтр the_content для внесения изменений:

 add_filter( 'the_content', 'brandozz_url_filter' ); function brandozz_url_filter( $content ) { $content = str_replace( set_url_scheme( home_url(), 'http' ), set_url_scheme( home_url(), 'relative' ), $content); return $content; } 

Фильтры и крючки могут попасть внутрь плагина или functions.php , это то, что выглядит как плагин:

 /** * Plugin Name: Relative local URLs * Plugin URI: http://wordpress.stackexchange.com/questions/174228/remove-the-http-protocol-from-images * Description: Replaces http:// URL containing the home url, with relative protocol urls * Version: 1.0.0 * Author: Tom J Nowell * Author URI: http://tomjn.com/ */ add_filter( 'the_content', 'tomjn_filter_relative_content_urls' ); function tomjn_filter_relative_content_urls( $content ) { $content = str_replace( set_url_scheme( home_url(), 'http' ), set_url_scheme( home_url(), 'relative' ), $content); return $content; }