WordPressで固定・投稿ページを別ページに表示する方法

Wordpressで固定・投稿ページを別ページに表示する方法

「プロフィールページを全部の投稿のページ下部に表示したい!」のように、あるページ(固定ページ・投稿ページ問わず)を他のページ(こちらも固定ページ・投稿ページ問わず)に表示させたい場合、表示したいページのスラッグを使って実現することができます!

目次

方法

使用単語

方法の説明に、分かりやすく以下の単語を使用することとします。

ページA:別のページに表示されるページ。固定ページ・投稿ページどちらでも可。

ページB:ページAを表示するページ。固定ページ・投稿ページどちらでも可。

また、これからご紹介する実現方法はショートコードを使って別ページの表示を可能とします。

1:メソッドを用意

以下のコードをfunctions.php最下部に追加します。「別のページを表示する」という機能を追加しています。

// [page_scode slug='表示させたいスラッグ名']
// 上記short codeで別固定ページをincludeできるはず。
function page_content_include($atts) {
	extract(shortcode_atts(array(
		'slug' => 'default'
	), $atts, 'page_scode'));

	ob_start();
	$page_info = get_page_by_path( $slug );
	$page = get_post($page_info);
	ob_end_clean();
	return do_shortcode( $page->post_content );
}
add_shortcode('page_scode', 'page_content_include');

// [page_scode slug='表示させたいスラッグ名']
// 上記short codeで別投稿をincludeできるはず。
// 
function post_content_include($atts) {
	extract(shortcode_atts(array(
		'slug' => 'default'
	), $atts, 'post_scode'));

	ob_start();
	$page_info = get_page_by_path( $slug, OBJECT, 'post');
	$page = get_post($page_info);
	ob_end_clean();
	return do_shortcode( $page->post_content );
}
add_shortcode('post_scode', 'post_content_include');

上のメソッド(page_content_include)が固定ページを別の固定ページに表示させるメソッド、下のメソッド(post_content_include)が投稿ページを別の投稿ページに表示させるメソッドです。

このメソッド内にはページAのスラッグもページBのスラッグも出てきません。

2:ページBの編集画面でページAを表示するようショートコードを入れる

上のコードを追加したら、希望の固定ページ・投稿ページの編集画面で

ページAが固定ページなら

ページAが投稿ページなら

を記載することでページBにページAが表示されるようになります!

例えばこんな感じ

まずはメソッドをfunctions.phpに追加します。

次に、ページAを用意します。今回は投稿ページにしました。

そしてページBも用意します。こちらは固定ページにしました。

次に、ページBにページAを表示するよう編集画面を操作します。

まずは管理者の記事一覧画面からページAのスラッグを確認します。「ページa」ですね。

それではページBにページAを表示するように編集しましょう。

ショートコードを入れます。今回は以下のようになります。

「更新」をした後にページBの表示を確認すると、ページAが表示されるようになりました!

分かりやすいように赤枠をつけています。

参考

参考にした記事はこちら

Sensitivitiy
ショートコードで別の固定ページの内容を表示させる方法 - Sensitivitiy フロントページやカスタム投稿のアーカイブページなどで、クライアントが更新をする際にテンプレートファイ...

WordPress関連の記事はこちら

Wordpressで固定・投稿ページを別ページに表示する方法

この記事が気に入ったら
フォローしてね!

よかったらシェアしてね!
  • URLをコピーしました!

この記事を書いた人

ピープル大学(UoPeople)でコンピューターサイエンスを学んでいます。趣味はプログラミング。

コメント

コメントする

目次