WordPress は Thunder、Magnet、Ed2k およびその他のプロトコルのサポートを追加しました。

ThunderハイパーリンクプロトコルはWordPressでは使用できません。http:とhttps:を除き、thunder:を入力するとシステムによって自動的にフィルタリングされます。インターネット上にはThunderハイパーリンク形式のリソースがいくつか存在します。場合によっては、Thunderプロトコルを使用する必要があります。WordPressでThunder、Magnet、ed2kなどのプロトコルを有効にするにはどうすればよいでしょうか?以下では、これらのプロトコルのサポートを有効にする方法について解説します。

WordPressでXunleiハイパーリンクが使用できない問題の解決策

WordPressでは、http:とhttps:を除き、このプロトコルは使用できません。thunder:を入力すると、システムによって自動的にフィルタリングされます。インターネット上には参考になるリソースがいくつかあります。ハイパーリンク形式では、Thunderプロトコルを使用する必要がある場合があります。WordPressで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 の防止機能を放棄することになり、セキュリティリスクが生じるため、お勧めできません。

サンダー、マグネット、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コードを挿入できます。

1/5 - (1票)

手紙への返信

メールアドレスが変更されることはありません。 支払い欄に必須の項目は必須です