Удаление протокола 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; }