2件の返信を表示中 - 1 - 2件目 (全2件中)
  • 表示したい内容を固定ページテンプレートではなく、別のphpファイルに記述して固定ページとアーカイブページそれぞれショートコードで呼び出すという方法はどうですか。

    例えば<?php echo "hogehoge"; ?>を表示する場合…
    まず、my-hogehoge.phpというファイルを作って<?php echo "hogehoge"; ?>を記述しテーマフォルダ内にアップします。

    次にfunctions.phpにphpファイルをショートコードとして呼び出す記述をします。
    (コードはテーマLuxeritasの公式ブログからです)

    add_filter( 'widget_text', function( $ret ) {
    	$php_file = 'my-hogehoge';
    	if( strpos( $ret, '[' . $php_file . ']' ) !== false ) {
    		add_shortcode( $php_file, function() use ( $php_file ) {
    			get_template_part( $php_file );
    		});
    		ob_start();
    		do_shortcode( '[' . $php_file . ']' );
    		$ret = ob_get_clean();
    	}
    	return $ret;
    }, 99 );

    後はウィジェットでショートコード [my-hogehoge] を実行するか、テンプレートに直接記述<?php echo do_shortcode( '[my-hogehoge]' ); ?>すれば<?php echo "hogehoge"; ?>を表示することができます。
    この方法なら一つのファイルを管理するだけで様々な場所に同じ内容を表示することができます。

    トピック投稿者 tokitahidemi

    (@tokitahidemi)

    @moyo55 さま
    ありがとうございます!
    やりたいことが出来ました。ご丁寧にサンプルまでいただいて感謝です。

2件の返信を表示中 - 1 - 2件目 (全2件中)
  • トピック「固定ページテンプレートの内容を別ページで表示」には新たに返信することはできません。