• 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保守管理サービス

Filed Under: 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.

I agree to these terms.

この記事と関連する記事

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. WordPress において PHP 8.1 に更新していいかどうか検証
  6. [便利]困難な判断を10秒で AI が客観的に導き出すツールを試してみた

最初のサイドバー

WordPress保守管理サポート

Search

最近の投稿

  • [便利]困難な判断を10秒で AI が客観的に導き出すツールを試してみた
  • WordPress のクロスサイト・スクリプティング被害にあった事例を共有します
  • メール作業の生産性を向上させる最低限覚えておくべき Gmail のショートカットキー
  • タブ固定とタブ一発アクセスのショートカットキーの組み合わせでブラウザ作業の生産性を向上
  • メールフォームプラグイン MW WP Form を使いながら WP Rocket を使う場合にエラー回避する設定

カテゴリー

  • 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.