web-dev-qa-db-ja.com

ページ区切り付き投稿の単一ページビュー

それでは、次のページ/改ページのクイックタグを挿入して、ワードプレスの投稿を分割する方法をご存知でしょう。それから、あなたのテンプレートでwp link pages機能を使用して、wordpressはあなたの今ページ付けされた投稿のためのページ1、2、3などのリンクを生成します。

すばらしいです。しかし、ポストを再びまとめる方法はありますか?記事をページに分割してから、「単一ページビュー」でバリエーションを提供するすべてのオンライン雑誌や新聞について考えてみましょう。 Wordpressでそれができますか?私は解決策をグーグルしようとしている週末全体を過ごし、まったく何も思いつかなかった。

3
Josh M

はい、可能です。私は自分のサイトでそれを使用します。 my Settings API post はページ付けされていますが、 は「単一ページ表示」リンクを使用して単一ページに表示できます

まず、カスタムクエリ変数を用意する必要があります。 functions.phpに、以下を追加します。

function cbnet_parameter_queryvars( $qvars ) {
    $qvars[] = 'all';
    return $qvars;
}
add_filter( 'query_vars', 'cbnet_parameter_queryvars' );

次に、ループの内側で、the_content()への基本的な呼び出しを次のように置き換える必要があります。

global $wp_query;
$no_pagination = false;
if ( isset( $wp_query->query_vars['all'] ) ) {
    $no_pagination = $wp_query->query_vars['all'];
}
if( $no_pagination ) {
    echo apply_filters( 'the_content', $post->post_content ); 
    $page=$numpages+1;
} else {
    the_content('Read the rest of this entry');
}

最後に、シングルページビューを生成するためのリンクを追加する必要があります。あなたの投稿メタのあなたの「パーマリンク」と「コメント」のリンクの隣に:

<?php 
global $numpages;
if ( is_singular() && $numpages > 1 ) { ?>
        <strong>|</strong> <a href="<?php echo add_query_arg( array( 'all' => '1'), get_permalink() ); ?>" title="single-page view">Single-Page View</a>
<?php } ?>

これで、[シングルページビュー]リンクをクリックすると、投稿のコンテンツ全体が1ページに表示されます。

注:h/tから このWPORGサポートフォーラムのトピック

2
Chip Bennett