WordPress

指定した親ページの子ページを取得してみる

前回、「WordPressで指定した固定ページを読み込む方法」を書いたのですが今回は親ページを指定した子ページを読み込んでみようと思い、試してみたのでメモしときます

[ads_center]

get_postsとget_pageを使って取得する

まずは配列に必要なパラメータを格納します。そしてget_postsの引数にその配列を渡せば$post->IDで子ページのidを取得できるので、今度はそれをget_pageの引数にforeachを使って渡していきます。あとは必要な情報を出力できるようになります。

<?php 
$args = array(
	'post_parent' => 取得したい親ページid,
	'post_type' => 'page',
	'order' => 'ASC',
	); 
$posts = get_posts($args);
foreach($posts as $post) {
	$post_id = $post->ID; 
	$page_id = get_page($post_id);
	echo '<h3>';
	the_title();
	echo '</h3>';
	echo '<p>';
	echo the_excerpt();
	echo '</p>';
	echo '<a href="'; 
	echo the_permalink();
	echo  '">続きを読む</a>';
};
?>

これでタイトル、抜粋、各ページへのリンクが出力されます。抜粋ではなくて本文を表示したい場合は以下のようにsetup_postdata()に引数として $post配列を渡すと出力できるようになります。

foreach($posts as $post) {
setup_postdata($post);
$post_id = $post->ID; 
	$page_id = get_page($post_id);
	the_content();

これで本文も表示できるようになります。get_postsではなくてget_pages()だけを使っても似たような感じで出力できるのですが、使い分けるところがよくわかんないのでとりあえず今回はget_postsを使って取得してみました。

関連記事

  1. WordPressのログイン時のツールバー

    WordPress

    WordPressの囲み型ショートコードの基本的な使い方

    WordPressのショートコードはとても便利で色々なことができるんで…

  2. WordPress

    WP-DBManagerを使ってWordPressのバックアップを取ってみる

    WordPressのバックアップをプラグインのWP-DBManager…

  3. WordPress

    WordPressで特定の記事やページにカスタムフィールドで指定したCSS・JSファイルを読み込む

    個人的に今後ちょっと使いそうな機能だったのでメモがてらエントリー。Wo…

  4. WordPress

    WordPressプラグイン「WPtap Mobile Detector」を使えばスマートフォン専用…

    WordPressでスマートフォン専用のテーマを作成した場合、iPho…

  5. WordPressのログイン時のツールバー
  6. WordPressの自動バックグラウンド更新

    WordPress

    WordPressで複数のウィジェットを表示させるやり方

    WordPressのウィジェットってとても便利ですよね。ドラッグ&ドロ…

コメント

  1. この記事へのコメントはありません。

  1. この記事へのトラックバックはありません。

最近の記事

  1. macOS Mojaveのダークモード
  2. Olli
  3. 単語帳メーカー(Flashcard Maker App)
  4. 1Password 7

Facebookページ

PAGE TOP