スキルアップを始める!

【WordPress(ワードプレス)】基本的なパーマリンク一覧&パブリッククエリ変数|クエリパラメータ

WordPress(ワードプレス)
この記事は約4分で読めます。

※記事中に広告情報を含みます。

\ワードプレスのスキルアップはこちら!/ WordPress入門読本

基本的なパーマリンク一覧(一部抜粋)

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

ご参考ください。

続きは・・・また。

URLをコピーしました!