Function.phpの次のコードは、リンクをクリック可能にするためにうまく機能します。
add_filter( 'the_content', 'make_clickable', 12 );
しかし、リンクを新しいタブで開くようにすることはできますか?
このためのネイティブ関数があるかどうかはわかりませんが、ちょっとした正規表現がそのケースを助けるかもしれません:
function open_links_in_new_tab($content){
$pattern = '/<a(.*?)?href=[\'"]?[\'"]?(.*?)?>/i';
$content = preg_replace_callback($pattern, function($m){
$tpl = array_shift($m);
$hrf = isset($m[1]) ? $m[1] : null;
if ( preg_match('/target=[\'"]?(.*?)[\'"]?/i', $tpl) ) {
return $tpl;
}
if ( trim($hrf) && 0 === strpos($hrf, '#') ) {
return $tpl; // anchor links
}
return preg_replace_callback('/href=/i', function($m2){
return sprintf('target="_blank" %s', array_shift($m2));
}, $tpl);
}, $content);
return $content;
}
add_filter('the_content', 'open_links_in_new_tab', 999);
パターンは少し改善が必要かもしれません。それが役立つことを願っています!