***子-番外. noreferrer を取り除く

※[functions.php]をいじるので、採用は自己責任でお願いします。
試してみたい場合は、テストサイトでやってみましょう。

わいひらさんの投稿時に自動付加されるrel=noopener noreferrerを制御するWordPressカスタマイズ方法を参考にさせていただきました。

リンクのお話です。
わたしは普段、ユーザー辞書から下記を呼び出して使っています。

<a href=" " target="b_blank"></a>

これの「target="b_blank"」がなんかよくないらしくて、WordPress5.1以降「rel="noopener noreferrer"」が強制的に付加されることになったそうです。
わいひらさんの記事によると、「noreferrerまで自動付加されてしまうとリンクがどのページから飛んできたかがわからなくなり、アフィリエイトに不利」(勝手に意訳しました。)との事。
まだアフィリは導入していませんが、将来的には入れたいので、「noreferrer」には消えてもらうことにしました。
 

functions.php

前項のハイライターの時同様、子テーマの[functions.php]の黄色枠の冒頭部分のすぐ下にマーカー部分を追加します。図左は通常の場合で、図右は緑枠がハイライターです。

 
追加PHP:

//エディターでrel="noopener noreferrer"自動付加の解除
add_filter('tiny_mce_before_init','tinymce_allow_unsafe_link_target_demo');
function tinymce_allow_unsafe_link_target_demo( $mce_init ) {
 $mce_init['allow_unsafe_link_target']=true;
 return $mce_init;
}

//投稿時に強制付加されるnoreferrer削除
add_filter( 'wp_targeted_link_rel', 'wp_targeted_link_rel_custom_demo', 10, 2 );
function wp_targeted_link_rel_custom_demo( $rel_value, $link_html ){
  $rel_value = str_replace(' noreferrer', '', $rel_value);
  return $rel_value;
}

 


これによって新規投稿からは、「rel=noopener」だけになりました。
以前の投稿分は更新の際に「noopener」を削除して更新しています。