WordPress добавляет поддержку Thunder, Magnet, ed2k и других протоколов!

Протокол гиперссылок Thunder (Thunder) не работает в WordPress. Ввод «thunder:» автоматически отфильтрует все ссылки, кроме http: и https:. Некоторые онлайн-ресурсы представлены в виде гиперссылок Thunder, и иногда требуется протокол Thunder. Как включить такие протоколы, как Thunder, Magnet и ed2k, в WordPress? Давайте разберёмся, как включить поддержку этих протоколов.

Решение проблемы невозможности использования гиперссылки Thunder в WordPress

Этот протокол не поддерживается WordPress, за исключением http: и https:. При вводе thunder: он будет автоматически отфильтрован системой. В интернете есть несколько ресурсов.超链接形式的,有时候务必会使用到thunder协议,如何在wp中启用 thunder,,А что насчёт других протоколов? Давайте разберёмся, как включить поддержку этих протоколов.

WordPress добавляет поддержку Thunder, Magnet, ed2k и других протоколов!

Добавьте новые протоколы, такие как Thunder, Magnet и ed2k, в гиперссылки WordPress.

Для предотвращения SQL-инъекций, XSS и других атак WordPress автоматически фильтрует контент при сохранении статей, что приводит к автоматическому удалению неподдерживаемых заголовков протоколов в гиперссылках (например: thunder://, magnet:?xt=urn:btih:).

Самое простое и жестокое решение — отключить функцию фильтрации.

Измените файл wp-includes/post.php и измените $postarr = sanitize_post($postarr, 'db'); Закомментируйте.

//$postarr = sanitize_post($postarr, 'db');

Этот метод прост и практичен, но он означает отказ от профилактической функции WordPress и создает риски безопасности, поэтому его не рекомендуется использовать.

Как эффективно поддерживать новые протоколы, такие как thunder, magnet, ed2k и т. д.

Способ 1: Измените wp-includes/functions.php, чтобы добавить поддержку нового протокола

Изменить wp-includes/functions.php функция wp_allowed_protocols()

если ( пусто ( $protocols ) ) { $protocols = массив ( 'http', 'https', 'ftp', 'ftps', 'mailto', 'news', 'irc', 'gopher', 'nntp', 'feed', 'telnet', 'mms', 'rtsp', 'sms', 'svn', 'tel', 'fax', 'xmpp', 'webcal', 'urn' ); }

Непосредственно добавьте новый протокол, который необходимо добавить, например:

если (пусто( $protocols ) ) { $protocols = массив( 'http', 'https', 'ftp', 'ftps', 'mailto', 'news', 'irc', 'gopher', 'nntp', 'feed', 'telnet', 'mms', 'rtsp', 'sms', 'svn', 'tel', 'fax', 'xmpp', 'webcal', 'urn', 'thunder', 'magnet', 'ed2k'); }

У этого метода есть проблема: поскольку он изменяет глобальную переменную файла wp-includes/functions.php, каждое обновление WordPress будет перезаписывать файл functions.php, и вам придётся вручную редактировать его снова. Если ваша версия WordPress обновляется нечасто, вы можете использовать этот метод.

Способ 2: Измените файл functions.php в теме, чтобы добавить поддержку нового протокола.

Измените wp-content/themes/theme name/functions.php и добавьте следующий контент:

function ss_allow_thunder_protocol( $protocols ) { $protocols[] = 'гром'; return $protocols; } function ss_allow_magnet_protocol( $protocols ) { $protocols[] = 'магнит'; return $protocols; } function ss_allow_ed2k_protocol( $protocols ) { $protocols[] = 'ed2k'; return $protocols; } add_filter( 'kses_allowed_protocols' , 'ss_allow_thunder_protocol' ); add_filter( 'kses_allowed_protocols' , 'ss_allow_magnet_protocol' ); add_filter( 'kses_allowed_protocols' , 'ss_allow_ed2k_protocol' );

Вставьте содержимое в конец файла functions.php. Если вы хотите добавить другие протоколы, просто измените его в соответствии с приведённым выше кодом.

Или, если вы устанавливаете плагин с функцией вставки кода, просто добавьте указанный выше код в плагин.

Рекомендуемый плагин для управления кодом:Мощный и гибкий плагин для управления кодом WPCode может вставлять любой код JS, CSS, PHP по условию

1/5 - (1 голос)

Ответить

Ваш адрес электронной почты не будет опубликован. Обязательные поля помечены *