ワードプレスの固定ページの階層で一番下の階層には同階層を表示する方法

ワードプレスの固定ページの階層で一番下の階層には同階層を表示する方法

  • 2018-03-18  最終更新日:2018-03-18

主にサイドメニューで固定ページを表示させようと考えておりました。それで子階層があれば子階層を表示させて一番下の階層になれば同一階層を表示する方法をご紹介致します。

サイドメニューに表示する際に便利かと思い調べてみました。


スポンサーリンク


固定ページで子階層があれば表示、なければ同一階層を表示

ワードプレスには結構便利な関数があるので利用してみます。サブページがあるかどうかをget_childrenという関数があったので使ってみました。添付ファイルを表示する場合はget_postsを使うより簡単そうです。表示はget_postsと同じです。

sidebar.phpに以下のように記載します。

<?php
	$args = array(
		'post_parent' => get_the_ID(),
		'post_type'   => 'page',
		'order'       => 'ASC',
		'orderby'     => 'menu_order'
	);
	$pages = get_children( $args );

	if ( count( $pages ) > 0 ) :?>
		<ul>
			<?php foreach ( $pages as $page ) :?>
				<li><a href="<?php echo esc_url( get_permalink( $page->ID ) );?>"><?php echo esc_html( $page->post_title );?></a></li>
			<?php endforeach; wp_reset_postdata(); ?>
		</ul>
	<?php else:?>
		<?php
			$args = array(
				'post_parent' => $post->post_parent,
				'post_type'   => 'page',
				'order'       => 'ASC',
				'orderby'     => 'menu_order',
				'posts_per_page'   => -1,
			);
			$pages = get_posts( $args );?>
			<ul>
		<?php foreach ( $pages as $page ) :?>
				<li><a href="<?php echo esc_url( get_page_link( $page->ID ) );?>"><?php echo esc_html( $page->post_title );?></a></li>
			<?php endforeach; wp_reset_postdata(); ?>
			</ul>
	<?php endif;?>

参考になれば幸いです。


∞Tadashi Suyama∞

wordpress menu 固定ページ 階層
  • このエントリーをはてなブックマークに追加
  • follow us in feedly

サイト内検索

最近の投稿

アイキャッチ
これは楽!iterm2パスワードマネージャー機能

さて今回はiterm2のパスワード管理についてです。そもそもこんな機能がついていること自体知らなかったのでこれ使って楽だなと思ったのでご紹介します。 iterm2の現在時点での最新バージョンは...

30 Mar 2019

アイキャッチ
JavaScriptライブラリデータベースのご紹介

さて今回はJSライブラリーのデータベースをご紹介したいと思います。知っている方が多いかと思いますがライブラリやプラグイン、フレームワークなど探す際には役立つサイトではないでしょうか。 どのJS...

28 Mar 2019

アイキャッチ
Web制作者が8年Chrome使ってきた中でおすすめの拡張機能

最近はEdgeもGoogle Chromeと同じChromiumベースでのブラウザとなりほとんどクローム(Chrome)状態ではあります。FirefoxとSafariぐらいでしょうか。Firef...

17 Mar 2019

アイキャッチ
Bootstrap4でフォーム入力の際にカレンダーから日付入力する方法

最近はメインでのコーディングはBootstrap4に移行しておりますがいろいろと3の時に使えたものが使えなかったりとしております。 DatetimePickerなどもそうですね。私個人的には4に...

18 Feb 2019

アイキャッチ
HomebrewでMySQL8をインストールした時の問題点

さて、今回はお手軽にMySQL8をインストールしたときの問題点などをご紹介します。MacOS用パッケージマネージャーHomebrewを使ってインストール、そしてphpからアクセスしたときの問題点...

13 Feb 2019

著者

ウェブエンジニアの須山のブログです。

WEBに関することや個人的に関心のあることについて書きます。主に技術系ブログです。

タグクラウド

wordpress menu 固定ページ 階層
フッターイメージ