2016-03-21 1 views
0

Ich habe einen Kurzcode zum Abrufen von Posts mit benutzerdefinierten Post-Typ mit Seitenumbruch erstellt, und es funktioniert gut, aber wenn ich auf die zweite Seite mit Paginierung gehen Schieberegler wird nicht angezeigt Code, die ich verwendet habe:auf der zweiten Seite Schieberegler zeigt nicht in Paginierung

<?php function artistCategoryFunction($args){ 
         global $wpdb; 
         global $posts; 
         $term = get_term($args['categoryid'],'artists_category'); 
         $name = $term->slug; 
         $catId = explode(',',$args['categoryid']); 
         $perPage = $args['post_per_page']; 
         $paged = (get_query_var('paged')) ? get_query_var('paged') : 1; 
         $posts_array = new WP_Query(
         $data = array(
          'posts_per_page' => $perPage, 
          'post_type' => 'artists', 
          'paged' => $paged, 
          'tax_query' => array(
           array(
            'taxonomy' => 'artists_category', 
            'field' => 'term_id', 
            'terms' => $catId, 
            'operator'=> 'IN' 

           ) 
          ) 
         ) 
        ); 
         //echo '<pre>';print_r($posts_array->posts); 
         $grid = '<div class="category"><ul>'; 
        if ($posts_array->have_posts()) : while ($posts_array->have_posts()) : $posts_array->the_post(); 
           $post_id = $values->ID; 
           $title = get_the_title(); 
           $thisposts = get_post($post_id); 
           $thisposts = $thisposts->post_name; 
           $mobile_img = get_field('featured_mobile_image'); 
           $content = get_field('description_(short)'); 
           $feature_img = wp_get_attachment_url(get_post_thumbnail_id()); 
            if($mobile_img == '') 
            { 
            $mobile_img = $feature_img; 
            } 
            else{ 
            $mobile_img; 
            } 
        $grid .= '<li><div class="cate-box"> 
            <div class="cate-pic"><a href="/artists/'.$name.'/'.$thisposts.'"><img src="'.$mobile_img.'" alt=" "></a></div> 
            <div class="cate-ctn"> 
            <h4>'.$title.'</h4><p>'.$content. 
            '</p><span class="read-box"><a href="/artists/'.$name.'/'.$thisposts.'" class="read">read more</a></span> 
             </div></div></li>'; 
            endwhile;endif;wp_reset_query(); 
            $total_pages = $posts_array->max_num_pages; 
            if ($total_pages > 1){ 
            $current_page = max(1, get_query_var('paged')); 
         $grid .= '<div class="page_nav">'; 
         $grid .= paginate_links(array(
          'base' => get_pagenum_link(1) . '%_%', 
          'format' => 'page/%#%', 
          'current' => $current_page, 
          'total' => $total_pages, 
          'prev_text' => 'Prev', 
          'next_text' => 'Next' 
         )); 
         $grid .= '</div>'; 
        } 
            $grid .= '</ul></div>'; 
            return $grid; 
        } 
        add_shortcode('artistGrid','artistCategoryFunction');?> 

Antwort

0

ich hatte ein simular Problem in einer meiner Seiten, und in meinem Fall die problam war in $paged variabel und mehr precicely in der Art und Weise seinen Wert genommen wurde.

Sie können diesen Code versuchen, es funktioniert für mich:

$paged = get_query_var('paged') ?: (get_query_var('page') ?: 1); 
+0

ich diese verwendet haben und nicht funktioniert :( –

+0

Sorry für das, es funktioniert für mich Was dazu:. Jetzt setzen Sie Abfrage und nach Sie versuchen, '$ total_pages' mit der Eigenschaft' max_num_pages' zu erhalten. Was passiert, wenn Sie zuerst '$ total_pages' und dann' wp_reset_query() '?? – pgk