備忘録。そのときそのときに勉強しているもののメモ

immature

WordPress

ショートコードで別の固定ページの内容を表示させる

更新日:

ショートコードを記述して呼び出す方法をググったメモ

functions.php

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');

呼び出すページをdivで囲みたい

ショートコードで呼ばれたページの内容をdivで囲みたかったのでさらに追記。

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);
	$embed = '<div class="page-embed-wrap">' .$page->post_content. '</div>';
	ob_end_clean();
	return do_shortcode( $embed );
  }
 add_shortcode('page_scode', 'page_content_include');

ページ内にショートコードを挿入する

[page_scode slug='表示させたいスラッグ名']

グーテンベルクになってから、ショートコードの挿入も楽になりました。

注意

extract()を使うのはもう非推奨みたいです。。。(WordPress ショートコード作成でextract()を使うのはもうやめよう

ブックマーク

参考:ショートコードで別の固定ページの内容を表示させる方法

関数リファレンス/get post

-WordPress
-

Copyright© immature , 2021 All Rights Reserved Powered by STINGER.