0

私はワードプレスに問題があります、私はこの作品を持っています

$paged = 1;
if ( get_query_var('paged') ) $paged = get_query_var('paged');
if ( get_query_var('page') ) $paged = get_query_var('page');

$contacts = new \WP_Query('post_type=contact&showposts=10&paged='.$paged);

    if($contacts->have_posts()) {
        echo '<table><thead><tr><th>First Name</th><th>Last Name</th><th>Email</th><th>Birthday</th></tr><thead><tbody>';
        while($contacts->have_posts()) {
            $contacts->the_post();
            echo '<tr>';
            echo '<td>'.get_post_meta($contacts->post->ID , 'contact_first_name' , true).'</td>';
            echo '<td>'.get_post_meta($contacts->post->ID , 'contact_last_name' , true).'</td>'; 
            echo '<td>'.get_post_meta($contacts->post->ID , 'contact_email' , true).'</td>';
            echo '<td>'.get_post_meta($contacts->post->ID , 'contact_birthday' , true).'</td>';
            echo '</tr>';
        }
        echo '</tbody></table>';

        if ( get_next_posts_link() || get_previous_posts_link() ) {
            echo '<div class="wp-navigation clearfix">
            <div class="alignleft">'.next_posts_link('&laquo; Older Entries').'</div>
            <div class="alignright">'.previous_posts_link('Newer Entries &raquo;').'</div>
            </div>';
        }

問題は、ページネーションが機能していないことです。$contacts の名前を $wp_query に変更するなどの解決策をいくつか試しましたが、機能しませんでした。また、showposts を posts_per_page に変更しても機能しません。問題はここにあると思います: \ WP_Query、どうすれば修正できますか? 私が取り組んでいるプラグインはすでにこのように機能しており、この部分だけが問題を引き起こしています

4

1 に答える 1

4

実際に私はこの方法でこれを解決しました:

  1. グローバル $wp_query を追加
  2. $contacts 変数の名前を $wp_query に変更しました

    global $wp_query;
    
    $paged = 1;
    if ( get_query_var('paged') ) $paged = get_query_var('paged');
    if ( get_query_var('page') ) $paged = get_query_var('page');
    
    $wp_query = new \WP_Query('post_type=contact&showposts=10&paged='.$paged);
    
    if($wp_query->have_posts()) {
        echo '<table><thead><tr><th>First Name</th><th>Last Name</th><th>Email</th><th>Birthday</th></tr><thead><tbody>';
        while($wp_query->have_posts()) {
            $wp_query->the_post();
            echo '<tr>';
            echo '<td>'.get_post_meta($wp_query->post->ID , 'contact_first_name' , true).'</td>';
            echo '<td>'.get_post_meta($wp_query->post->ID , 'contact_last_name' , true).'</td>'; 
            echo '<td>'.get_post_meta($wp_query->post->ID , 'contact_email' , true).'</td>';
            echo '<td>'.get_post_meta($wp_query->post->ID , 'contact_birthday' , true).'</td>';
            echo '</tr>';
        }
        echo '</tbody></table>';
    
        if ( get_next_posts_link() || get_previous_posts_link() ) {
            echo '<div class="wp-navigation clearfix">
            <div class="alignleft">'.next_posts_link('&laquo; Older Entries').'</div>
            <div class="alignright">'.previous_posts_link('Newer Entries &raquo;').'</div>
            </div>';
        }
    }
    

今、私はページネーターを見ることができます

于 2013-03-04T06:00:09.127 に答える