基本的なパーマリンク一覧(一部抜粋)
WordPressのページ毎に設定される個別の URL のことを「パーマリンク(permalink)」と言います。
パーマリンク例:
https://demo.eguweb.net/?p=37
「?」記号に続く「クエリ文字列」にパラメータを指定することでWEBページを表示できます。
- 記事:/記事/
- カテゴリー:/カテゴリー/
- タグ:/タグ/
- 月別アーカイブ:/年/月/
- 著者アーカイブ:/著者名/
- 検索結果:/検索/検索ワード/
- 404エラーページ:/404/
投稿ページ
https://demo.eguweb.net/?p=37
固定ページ
https://demo.eguweb.net/?page_id=40
一覧ページ(Xページ目)
https://demo.eguweb.net/?paged=4
アーカイブ(年月)
https://demo.eguweb.net/?m=202010
アーカイブ(年)
https://demo.eguweb.net/?year=2020
アーカイブ(月)
https://demo.eguweb.net/?monthnum=10
アーカイブ(日)
https://demo.eguweb.net/?day=12
アーカイブ(カテゴリー)
https://demo.eguweb.net/?cat=3
アーカイブ(タグ)
https://demo.eguweb.net/?tag=tag4
アーカイブ(カスタムタクソノミー)
https://demo.eguweb.net/?rating=rating4
アーカイブ(カスタム投稿タイプ)
https://demo.eguweb.net/?post_type=tickets
アーカイブ(投稿者)
https://demo.eguweb.net/?author=1
「ユーザー名」でアーカイブを表示したい場合は下記のように指定します。
https://demo.eguweb.net/?author_name=admin
アーカイブ(検索)
https://demo.eguweb.net/?s=apple
検索結果「apple」にヒットしたページが表示されます。
404ページ
https://demo.eguweb.net/?error=404
RSSフィード
https://demo.eguweb.net/?feed=rss2
get_query_var()関数
get_query_var()関数を使うと、これらのパーマリンクを取得することができます。
<?php get_query_var( $var, $default ); ?>
WP クラスのプロパティについて
$public_query_vars
第1引数 $var :情報取得の変数キーを指定
第2引数 $default:指定したクエリ変数が取得できなかった時の返り値
クエリパラメータを条件にしてページの表示を変える
functions.php
function add_query_vars_filter( $vars ){
$vars[] = "cat_abc";
return $vars;
}
add_filter( 'query_vars', 'add_query_vars_filter' );
functions.phpに上記のような関数を追加することで、開こうとしているページのパーマリンク(URL)によってページに表示させる内容を変えることができます。
if(get_query_var('cat_abc')=='test1'){
// https://demo.eguweb.net/xxx/?cat_abc=test1 のとき
}else{
// http://domain.com/xxx/?cat_abc=test1 ではないとき
}
まとめ
こちらは「基本設定」のパーマリンクで設定している場合です。パーマリンク設定を変更した場合(Prettyパーマリンク(検索フレンドリーURL)とした場合)は「リライトルール(Rewrite Rule)」に基づいてURL 変換が行われます。
パーマリンク設定を変更した場合・・・例えば、下記のようなページを開いた場合。
http://example.com/contact
下記のページを表示するようになります。
http://example.com/index.php?pagename=contact
ご参考ください。
続きは・・・また。