だから例えば:私は http://testeteststetetst.com を投稿した場合、それが投稿であればそれはリンクにはなりません。それがコメントなら、それはリンクになります...今、私は投稿にもそれが欲しいです。もしそうなら、これは可能ですか?誰かが私を助けてくれませんか。
私のプラグインでは、次のような方法を使います。
function wpse107488_urls_to_links( $string ) {
/* make sure there is an http:// on all URLs */
$string = preg_replace( "/([^\w\/])(www\.[a-z0-9\-]+\.[a-z0-9\-]+)/i", "$1http://$2", $string );
/* create links */
$string = preg_replace( "/([\w]+:\/\/[\w-?&;%#~=\.\/\@]+[\w\/])/i", "<a target=\"_blank\" title=\"" . __( 'Visit Site', 'your-textdomain' ) . "\" href=\"$1\">$1</a>", $string);
return $string;
}
投稿コンテンツには使用しませんが、そこで機能するはずです。
そのためには、 the_content
フィルタ を使用する必要があります。
add_filter( 'the_content', 'wpse107488_urls_to_links' );
傍注:
これはテストされていません。
正規表現はかなり優れていますが、時々ニッチなケースでは失敗します。フォーマットのみでURLを識別する一方で、誤検知を回避することは最も簡単なことではありません。