WordPressでcanonicalで使用するURLを生成してみた

カテゴリ: WP関連メモ
linkタグ、canonicalのイメージ

対応範囲は、トップページ・カテゴリページ・固定ページ・個別の投稿ページのみ。
その他のページの場合は、タグを表示しない。

$canonical_url = "";

if(is_home() || is_front_page()){
$canonical_url = home_url("/");
}elseif(is_category()){
$canonical_url = get_category_link(get_query_var("cat"));
}elseif(is_page() || is_single()){
$canonical_url = get_permalink();
}


global $page, $paged;

if($page > 1 && $canonical_url){
$canonical_url .= "{$page_num}/";
}
if($paged > 1 && $canonical_url){
$canonical_url .= "page/{$page_num}/";
}

if($canonical_url){echo <link rel=\"canonical\" href=\"{$canonical_url}\">;}