2022年03月29日

Filterフック:redirect_canonical

フィルタフックの redirect_canonical は、URLをリダイレクトする時にフックされます。

この機能を無効にしたい時に利用します。

 

 メモ

WordPressでは、ユーザが指定したURLのスラッグ部分が少し違っていても勝手にこのURLでないか?と類推して表示してくれるのがデフォルト機能です。

例えば

①正式URL:https://hnw.t-spirits.com/school/wordpress-func/body_class/

これを

②https://hnw.t-spirits.com/school/wordpress-func/body_cl

としても、勝手に①を呼び出してくれます。

これがURLリダイレクト機能です。

しかし、この機能が働く為に、投稿文書の下に関連ドキュメントのリストを表示して、このページネーションを行おうとしても、この機能が働く為にページネーションができません。

 

この機能をOFFにする方法は下記になります。

function redirect_off($redirect_url, $requested_url) {
  if(is_404() || is_single()) {return $redirect_url=false;}
  else{return $redirect_url;}
}
add_filter('redirect_canonical', 'redirect_off', 10, 2);

■少しでもURLが違う場合は「404.php」が呼ばれる様に変更されます。

■投稿ページの下に関連ドキュメントリストを表示し、そのページネーションを行ってもページ送りができる様になります。

 

 メモ

投稿ページの下の関連ドキュメントのページネーションは、画面が上から書き直されるのであまりユーザフレンドリではありません。

むしろ、総ての関連ドキュメントを読み込んで、ページネーションはJqueryで制御する方法の方が画面の再描画が行われないので、ユーザフレンドリーと思います。

 

フィルターフック&関数
  • header_video_settings
  • manage_pages_columns
  • manage_posts_columns
  • mce_buttons
  • mce_external_plugins
  • redirect_canonical
  • the_content
  • tiny_mce_before_init
  • wp_insert_post_data
  • apply_filters()