• Skip to primary navigation
  • Skip to main content
  • Skip to primary sidebar
  • Skip to footer

株式会社ハイファイブクリエイト

東京都を拠点にWebサイト制作やシステム構築、WordPress保守管理やウェブコンサルティングを提供。

  • SERVICE
  • ABOUT
  • WORKS
  • BLOG
  • NEWS
  • CONTACT
ホーム / ブログ / TIPS / 親ページ/子ページ/孫ページをIDで指定する条件分岐

親ページ/子ページ/孫ページをIDで指定する条件分岐

池田祐太郎 | 2018年1月4日 公開


WordPressにはis_page等の条件分岐タグがありますが、親ページや子ページ、孫ページに対しての条件分岐タグがデフォルトで用意されていません。

そこで、親ページ/子ページ/孫ページを表示しているかどうかをチェックする条件分岐タグを作成することにより、複雑な条件分岐タグを作成することなく、シンプルに条件分岐が行えるようになります。

  • 通常の固定ページには表示しないが、特定のページとその子ページ、孫ページにだけ広告バナーを表示させたい
  • 指定した親子ページのみ、フッターにリンクを設置する
  • 特定親子固定ページにのみ、グローバルメニューの問い合わせをなくす

…といったような使い方ができるかと思います。

イメージの解説とコードをご紹介します。

今回のコード参考元:
WP: is_tree() function to check if the current page is the page or a sub page of the page ID specified.

目次

  • 1 親、子、孫に対して有効とはどんな状態?
    • 1.1 実際の画面での見え方
  • 2 サンプルコード
    • 2.1 テンプレートファイルへの記載例

親、子、孫に対して有効とはどんな状態?


上記のイメージ図の場合、「固定ページB-2」は「固定ページB」の子ページにあたります。また、「固定ページB-3」は「固定ページB-2」の子ページ&「固定ページB」の孫ページにあたります。

今回、図の青いページ全てに共通で表示させたい画像やHTML領域などがある場合の独自関数を作成します。
WordPressに用意されている関数を利用する場合、is_page(array(ページ1, ページ2, ページ3))等で 実現可能です。
しかし、ページを追加する度に追加しなければいけないため、get_post_ancestors関数を組み合わせて実現することが考えられます。

それでも問題ありませんが、今回のカスタマイズ関数でもっとシンプルな記述となります。

実際の画面での見え方


管理画面での見え方です。固定ページで親、子、孫ページを作成しました。


フロント画面の見え方です。親、子、孫の場合、「条件分岐の時だけ表示されるテキスト」という文言が表示されているのがわかるかと思います。
また、「サンプルページ」は親ページとは関係のないページのため表示されていないのも確認できます。

サンプルコード

以下をfunctions.phpの任意の場所へ記載してください。もちろんバックアップはお忘れなく。

/*
* 親ページをIDで指定する条件分岐(親ページ/子ページ/孫ページがtrueになる)
*/
function is_tree( $pid ) {
    global $post;
    if ( is_page( $pid ) )
        return true;
    $anc = get_post_ancestors( $post->ID );
    foreach ( $anc as $ancestor ) {
        if( is_page() && $ancestor == $pid ) {
            return true;
        }
    }
    return false;
}

テンプレートファイルへの記載例

以下のように「is_tree(ID)」という形で条件分岐します。
※例では固定ページID67に対して有効

if (is_tree(67)) {
	echo '<p style="font-size: 2rem;">条件分岐の時だけ表示されるテキスト</p>';
}

マストの機能ではないかもしれませんが、たまに使いたいという時があるという感じですかね。
以上です。

本年もよろしくお願いいたします。

メールコンサルティング
WordPress保守管理サービス

Filed Under: TIPS 関連タグ:WordPressカスタマイズ

池田祐太郎

WordPress の構築・保守を10年以上にわたって手掛けており、主に小〜中規模のコーポレートサイト・ECサイト・ブランドサイト等の企画・開発・保守・コンサルティングなどを行ってきました。2012年にハイファイブクリエイトを創業し、現在は WordPress の保守やコンサルティング、ディレクションや開発業務などを担当しています。 プロフィール詳細

この記事と関連する記事

WordPressの固定ページでタグやカテゴリーを使いたいときはカスタム投稿タイプを検討する
2022年1月27日
タグ: WordPressカスタマイズ
カテゴリー: WordPress
フレームワークを使ってWordPressサイトをリニューアルしたら表示速度が速くなった話
2018年6月4日
タグ: Webサイト高速化, WordPressカスタマイズ
カテゴリー: WordPress, ホームページ制作, モバイル
WP固定ページや投稿内でphpファイルを読み込むショートコード
2018年4月1日
タグ: WordPressカスタマイズ
カテゴリー: TIPS

人気記事

  1. git pull してもエラーが出てファイルが反映されないときの対処法
  2. 同一サーバー上に構築するWordPressのテスト環境の作り方
  3. WordPressの固定ページでタグやカテゴリーを使いたいときはカスタム投稿タイプを検討する
  4. サイト制作の要件定義書に普段書いている内容(ダウンロード可)
  5. [便利]困難な判断を10秒で AI が客観的に導き出すツールを試してみた
  6. WordPress において PHP 8.1 に更新していいかどうか検証

最初のサイドバー

WordPress保守管理サポート

Search

最近の投稿

  • 外部のプロフェッショナルによる WordPress サイトの保守・運用:安心と安全性を手軽に手に入れる方法
  • [便利]困難な判断を10秒で AI が客観的に導き出すツールを試してみた
  • WordPress のクロスサイト・スクリプティング被害にあった事例を共有します
  • メール作業の生産性を向上させる最低限覚えておくべき Gmail のショートカットキー
  • タブ固定とタブ一発アクセスのショートカットキーの組み合わせでブラウザ作業の生産性を向上

カテゴリー

  • CSS初心者
  • HTML初心者
  • TIPS
  • WooCommerce
  • WordPress
  • エステサロン
  • お知らせ
  • キュレーション
  • サイトマップ
  • システム会社
  • デベロッパーツール入門
  • ブログ
  • ホームページ制作
  • ホームページ制作無料講座
  • メール
  • モバイル
  • 仕事のこと
  • 制作実績
  • 整体院
  • 美容院
  • 雑感

タグ

Android BtoC CMS css elementor git google workspace Gutenberg HTML iPhone jQuery Mac MAMP php SEO SNS ssh SSL Sublime Text Webサイト高速化 Windows WordPress WordPressカスタマイズ WordPressテーマ WordPress構築調査 WPRocket アクセス解析 アプリ クラウド クラウドソーシング サイト引っ越し サブスクリプション サーバー ショートカットキー スマホサイト スマートフォン ツール ブログ プラグイン マーケティング リニューアル 保守管理 改ざん 最適化 集客するサイト構築

アーカイブ

CONTACT

お問い合わせはこちら

Footer

  • PRIVACY POLICY
  • 情報セキュリティ基本方針
  • 特定商取引法に基づく表示
  • 転載/引用

© 2023 high five create All rights reserved.