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

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

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

  • SERVICE
  • ABOUT
  • WORKS
  • BLOG
  • NEWS
  • CONTACT
ホーム / ブログ / TIPS / [WordPress]親ページのスラッグを取得する

[WordPress]親ページのスラッグを取得する

池田祐太郎 | 2014年6月27日 公開 コメントを書く

親ページがあるかどうか、というのは公式にも書かれているように $post->post_parent で取得できます。
そこで、固定ページ’東京’を親ページとして、子ページに’渋谷’というページが存在し、どちらもページを見ている場合もTrue(真)にしたい場合はどうしたらいいでしょう。

親ページ’東京’
id: 108
スラッグ: tokyo

子ページ’渋谷’
id: 139
スラッグ: shibuya

例:
1. IDで指定する場合

if ( is_page(108) || $post->post_parent == 108 ) { // 現在のページが固定ページ'東京'か、親ページ'東京"を持つ場合
	echo 'True!';
}

IDの場合は上記で可能。
ところが、どちらもスラッグで返そうとすると親ページの方は反応しません。

例:
2. スラッグで指定する場合

if ( is_page('tokyo') || $post->post_parent == 'tokyo' ) { // 現在のページが固定ページ'渋谷'か、親ページ'東京"を持つ場合
	echo 'True!'; // 親ページの ID を返したい.....が、[$post->post_parent == 'tokyo']はtrueにならない
}

上記の場合、[$post->post_parent == ‘tokyo’]はtrueにならないので条件式は真になりません。
そこでget_the_titleを使えばいけるかもと思ってテストしました。がダメでした。

get_the_title($post->post_parent == '東京') //これもfalse

固定ページの親ページをスラッグで判定する関数

?
そこで、公式のWordPressフォーラムに載っている回答を参考に親ページのスラッグを判定する関数を作成しました。

function is_parent_slug() {
	global $post;
	if ($post->post_parent) {
		$post_data = get_post($post->post_parent);
		return $post_data->post_name;
	}
}

上記をコピーして、functions.phpに貼り付けます。(作成していない場合は、新しくfunctions.phpを作成します)
これで判別ができるようになりました!
この関数を使いたい固定ページ内で呼び出しましょう。

例:

if (is_page('tokyo')||is_parent_slug() == 'tokyo'){
	echo 'True!';
}

これで親ページのIDに関係なく、slug名だけで判定ができました。

「idでいいんじゃ?」

という声が聞こえてきそうですがテスト環境で開発していると本サイトとテストサイトのIDが一緒になるということがまずないのです。
なのでそういうときはスラッグで管理できると非常にラクだったりします。

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

カテゴリTIPS 関連タグ:WordPressカスタマイズ

池田祐太郎

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

Reader Interactions

コメントを残す コメントをキャンセル

メールアドレスが公開されることはありません。 ※ が付いている欄は必須項目です

For security, use of Google's reCAPTCHA service is required which is subject to the Google Privacy Policy and Terms of Use.

この記事と関連する記事

同一ページでMW WP Formのフォームを切り替える方法
2023年8月29日
タグ: WordPressカスタマイズ
カテゴリー: TIPS
WordPressの固定ページでタグやカテゴリーを使いたいときはカスタム投稿タイプを検討する
2022年1月27日
タグ: WordPressカスタマイズ
カテゴリー: WordPress
フレームワークを使ってWordPressサイトをリニューアルしたら表示速度が速くなった話
2018年6月4日
タグ: Webサイト高速化, WordPressカスタマイズ
カテゴリー: WordPress, ホームページ制作, モバイル

最初のサイドバー

WordPress保守管理サポート

Search

最近の投稿

  • 2024-2025年末年始の営業のご案内
  • WordPressのプラグイン自動更新のロールバック機能が正しく動くのか確認してみた
  • 遅延読み込み開始させる画像を変更させるWordPressカスタマイズ
  • WordPressで特定の画像やアイキャッチ画像をlink rel=”preload”に設定する
  • WordPressのプラグインがどのくらい表示速度を重くさせるのか22個のプラグインで検証

カテゴリー

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

タグ

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

アーカイブ

CONTACT

お問い合わせはこちら

Footer

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

© 2025 high five create All rights reserved.