5

そこにいるWordpressの頭脳への簡単な質問...

現在、特定の投稿タイプからすべての投稿をインポートするショートコードを取得しました。ただし、wp_query にページネーションを追加するのに問題があります。

このコードが機能したら説明するために、[feed type="attractions" limit="2"] をページに配置すると、アトラクションに基づいて 2 つの投稿が表示されますが、ページ分割されません。正確に何が間違っているのか疑問に思っています...

コードはこちら!--- >

    function section_feed_shortcode( $atts ) {
    extract( shortcode_atts( array( 'limit' => -1, 'type' => 'post'), $atts ) );

    $q = new WP_Query(  array ( 'posts_per_page' => $limit, 'post_type' => $type, order => 'ASC', orderby =>'menu_order', 'paged' => get_query_var('page')  ) );

    $list = ' ';

    while ( $q->have_posts() ) { $q->the_post();

        $list .= '<article class="listing-view clearfix">' 
        . '<div class="listing-content">' 
        . '<h3>' . get_the_title() . '</h3>' 
        .'<p>' . get_the_excerpt() . '</p>'
        . '<a href="' . get_permalink() . '">' . 'View &raquo;' . '</a>'
        . '</div>'
        . '<a class="listing-thumb" href="' . get_permalink() . '">' . get_the_post_thumbnail($page->ID, 'listing-thumb')  . '<span></span></a>'
        . '</article>';
    }

    wp_reset_query();

    return 
    '<div class="listings clearfix">' 
    . $list 
    . '<div class="nav-previous">' . next_posts_link( __( '<span class="meta-nav">&larr;</span> Older posts', 'stratford_wp' ) ) . '</div>'
    . '<div class="nav-next">' . previous_posts_link( __( 'Newer posts <span class="meta-nav">&rarr;</span>', 'stratford_wp' ) ) . '</div>'
    . '</div>';
}
add_shortcode( 'feed', 'section_feed_shortcode' );

高度な回答をありがとう!

4

3 に答える 3

0

次/前のリンクに移動する前に、クエリをリセットしています。wp_reset_query() 関数をさらに下に移動するとどうなりますか?

また、http: //wordpress.stackexchange.com でこれを行うと、より多くの運が上がる可能性があります。

于 2012-07-18T13:24:53.690 に答える
-1

グローバル $paged を追加する必要があり、WP_Query に渡される配列に 'paged' => $paged を追加する必要があります

クエリは次のようになります。

global $paged
$q = new WP_Query(  array ( 'posts_per_page' => $limit, 'post_type' => $type, order => 'ASC', orderby =>'menu_order', 'paged' => $paged  ) );
于 2012-07-11T14:31:50.393 に答える