優れたソフトウェアと実用的なチュートリアル
WordPressでXunleiハイパーリンクが使用できない問題の解決策
サンダーハイパーリンク 雷WordPressでは、http:とhttps:を除き、このプロトコルは使用できません。thunder:を入力すると、システムによって自動的にフィルタリングされます。インターネット上には参考になるリソースがいくつかあります。雷ハイパーリンク形式では、Thunderプロトコルを使用する必要がある場合があります。WordPressでThunderを有効にするにはどうすればいいですか?磁石、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 の防止機能を放棄することになり、セキュリティリスクが生じるため、お勧めできません。
サンダー、マグネット、ed2k などの新しいプロトコルを効果的にサポートする方法。
方法1: wp-includes/functions.php を修正して新しいプロトコルのサポートを追加する
wp-includes/functions.php を変更する 関数 wp_allowed_protocols()
if ( empty( $protocols ) ) { $protocols = array( 'http', 'https', 'ftp', 'ftps', 'mailto', 'news', 'irc', 'gopher', 'nntp', 'feed', 'telnet', 'mms', 'rtsp', 'sms', 'svn', 'tel', 'fax', 'xmpp', 'webcal', 'urn' ); }
追加する必要がある新しいプロトコルを直接追加します。例:
if ( empty( $protocols ) ) { $protocols = array( '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/テーマ名/functions.php を変更し、次のコンテンツを追加します。
関数 ss_allow_thunder_protocol( $protocols ){ $protocols[] = 'thunder'; 戻り値 $protocols; } 関数 ss_allow_magnet_protocol( $protocols ){ $protocols[] = 'magnet'; 戻り値 $protocols; } 関数 ss_allow_ed2k_protocol( $protocols ){ $protocols[] = 'ed2k'; 戻り値 $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コードを挿入できます。