web-dev-qa-db-ja.com

1つの投稿に対して2つの異なるプレビュー(1つの投稿に対して2つのテンプレート)を持つことは可能ですか?

私は投稿編集者が彼らが書いている投稿の2つの異なるプレビューを見ることができるようにする方法を探しています。前面には、同じ投稿がWebサイトの2つの異なるセクションに表示されます(それぞれ異なる量のカスタムフィールドが表示されます)。 2つのプレビューリンクを作成するにはどうすればよいですか(例: "テンプレート1でプレビュー"と "テンプレート2でプレビュー")。

2
mike23

これを解決する最も簡単な方法は、プレビュー用の特別なテンプレートファイルを作成することです。これは、投稿を異なるレイアウトで2回表示します。

次のコードは、single-preview.phpテンプレートファイルが存在する場合はそれを使用します。

add_filter( 'single_template', 'wpse15770_single_template' );
function wpse15770_single_template( $templates )
{
    if ( is_preview() ) {
        $templates = locate_template( array( 'single-preview.php', $templates ) );
    }
    return $templates;
}

同じ投稿を2回見たい場合は、single-preview.phpテンプレートファイルにrewind_posts()を追加することを忘れないでください。

1
Jan Fabry