• 解決済 aki

    (@akistar02)


    WPのテーマを自作しているのですが、記事や固定ページが属しているカテゴリーごとに別処理を与えたいときに、いちいちテンプレートに

    $cat = get_the_category();
    $cat = $cat[0];
    $cat->cat_name

    if($cat->cat_name == “about”){
    処理~
    }

    のような記述をしていて、それが汚いなと思っています。

    理想としては、functions.phpにこの処理を書いて、テンプレートで

    if($cat->cat_name == “about”){
    処理~
    }

    かけば、今いるページのカテゴリが判定できる、という書き方をしたいと思っているのですが、可能でしょうか?

    また、もっとスマートにカテゴリ別の条件分岐がかける方法があれば教えてください。

    よろしくお願いいたします。

5件の返信を表示中 - 1 - 5件目 (全5件中)
  • モデレーター gatespace

    (@gatespace)

    WordPress標準の条件分岐タグを使う方法じゃダメなんですか?

    日本語Codex:条件分岐タグ

    カテゴリーアーカイブなら is_category()
    現在の投稿がどのカテゴリーに属しているかは in_category()

    トピック投稿者 aki

    (@akistar02)

    固定ページや投稿ページ、すべてのページで使えるものがいいので、このような書き方をしています。
    is_category()はアーカイブページでしか使えないですよね?

    モデレーター gatespace

    (@gatespace)

    固定ページや投稿ページ、すべてのページで使えるものがいいので

    具体的にどのような処理を行いたいのかが不明なので、憶測ですが、
    例えば固定ページや投稿ページなどで、サブクエリーとして get_posts 等で投稿を表示しているのであれば、そこで in_category が使えますが。

    トピック投稿者 aki

    (@akistar02)

    たとえばheader.phpなどです。
    カテゴリがabuotのときだけこの要素を追加したい、という時に使いたいのですが、無理みたいですね。。。

    トピック投稿者 aki

    (@akistar02)

    普通にin_categoryでできました。
    何か勘違いしていたみたいです。

    ありがとうございました。

5件の返信を表示中 - 1 - 5件目 (全5件中)
  • トピック「カテゴリー判別をスマートに行いたい[functions.phpで]」には新たに返信することはできません。