NTTドコモ様_dカーシェア
NTTドコモ様_dカーシェア
2013.06.05

wordpressでふと思い出せなくなるコードをまとめました。

づや

wordpressでサイトを制作していて、思い出すことに時間がかかることがちょこちょこ出てきたので、いい機会なのでまとめてみたいと思います。

1.カスタム投稿タイプのアーカイブページか判定する

is_post_type_archive を使おう。

if(is_post_type_archive($posttype)) {
    // ここに処理を書くよ
}

引数で渡した投稿タイプ名のアーカイブページの場合、trueを返します。

タクソノミーページのアーカイブを判定する場合はis_taxを使う

まあ公式のCodexの条件分岐のページに載ってるんですが。
迷ったらここを見ましょう。

2.カスタムタクソノミーのアーカイブページのURLが欲しい

記事詳細のパーマリンクだったらget_permalink()、カテゴリのアーカイブページ用URLだったらget_category_link()でよいのですが、タクソノミーページ用のリンクはどうやって取得するんだっけをたまに悩みます。

get_term_link を使う。

/**
 * $termには対象のタクソノミーのIDかslug、若しくはtermオブジェクトを渡します
 * $taxonomyには第1引数で渡したtermのタクソノミー名を渡します
 */
echo get_term_link($term, $taxonomy);

3.今表示されてるページの情報(カテゴリ)とかが欲しい

例えばカテゴリアーカイブページで、今対象となってるカテゴリが欲しい場合とかです。
get_queried_object()で取得できます。

現在表示されているページによって戻り値が違うのが要注意です。

カテゴリとかタグ、タクソノミーのアーカイブページの場合、termオブジェクト記事の詳細ページなら$post。

カスタム投稿タイプアーカイブなら、対象のpost_typeオブジェクトなど等です。

基本is_categoryとかの判定と合わせて使います。

なんか他にもある気がするので、備忘録としてちょこちょこまとめていきたいと思います。