2011-04-26 28 views
5

काम नहीं कर रहा है मैं पेजिनेशन के लिए WP PageNavi प्लगइन का उपयोग कर रहा हूं। वर्गीकरण-portflio-category.php पृष्ठ को पेजिनेट में नहीं प्राप्त करने में यह विशेष समस्या भी एक समस्या है जब WP PageNavi बंद है।वर्डप्रेस कस्टम वर्गीकरण पृष्ठांकन

मुझे होमपेज पर और पेज टेम्पलेट पेज पर काम करने के लिए अंकन प्राप्त करने का समय है, लेकिन मैंने उन्हें काम करने के लिए लिया।

पेज-home.php (एक स्थिर पहले पन्ने पर एक पृष्ठ टेम्पलेट के रूप में इस्तेमाल बुलाया "घर")

$paged = 1; 
if (get_query_var('paged')) $paged = get_query_var('paged'); 
if (get_query_var('page')) $paged = get_query_var('page'); 
$i = 0; 
$loop = new WP_Query(array('post_type' => 'portfolio', 'paged' => $paged, 'posts_per_page' => 24)); 
while ($loop->have_posts()) : $loop->the_post(); 
// output 
$i++; endwhile; 
if (function_exists('wp_pagenavi')) { 
    wp_pagenavi(array('query' => $loop)); 
    wp_reset_postdata(); 
} 

पृष्ठांकन काम करता है: यहाँ अपने कोड है!

पेज-portfolio.php (एक पृष्ठ पर एक पृष्ठ टेम्पलेट के रूप में इस्तेमाल "काम" कहा जाता है)

$i = 0; 
$loop = new WP_Query(array('post_type' => 'portfolio', 'paged' => get_query_var('paged'), 'posts_per_page' => 24)); 
while ($loop->have_posts()) : $loop->the_post(); 
// output 
$i++; endwhile; 
if (function_exists('wp_pagenavi')) { 
    wp_pagenavi(array('query' => $loop)); 
    wp_reset_postdata(); 
} 

पृष्ठांकन काम करता है!

वर्गीकरण विज्ञान पोर्टफोलियो-category.php (एक तरह से पोर्टफोलियो वर्गों प्रदर्शित करने के लिए जैसे प्रिंट, फोटोग्राफी के रूप में इस्तेमाल, आदि)

$term = get_term_by('slug', get_query_var('term'), get_query_var('taxonomy')); 
global $wp_query; 
query_posts(array_merge($wp_query->query, array('posts_per_page' => 2))); 
if (have_posts()) : while (have_posts()) : the_post(); 
// output 
endwhile; endif; 
if (function_exists('wp_pagenavi')) { 
    wp_pagenavi(); 
} 

पृष्ठ 1 (/ पोर्टफोलियो/इंटरैक्टिव /) बहुत अच्छा लगता है! यह निश्चित रूप से केवल 2 आइटम पोस्ट कर रहा है और यह अंकन पृष्ठों की सही संख्या की गणना करता है। लेकिन जब आप पृष्ठ 2 या 3 या 4 (/ पोर्टफोलियो/इंटरैक्टिव/पेज/2 /) पर क्लिक करते हैं तो साइट index.php पर डिफ़ॉल्ट होती है और "पृष्ठ नहीं मिला" दिखाती है। अंकन विफल रहता है!

उम्मीद है कि मैं इसे जल्द ही हल कर सकता हूं। मैंने कस्टम वर्गीकरण पृष्ठों पर पेजिनेशन की इसी समस्या के साथ बहुत से लोगों को देखा है, लेकिन कोई ठोस समाधान नहीं है। कृपया सहायता कीजिए!

उत्तर

0

मैं इसी तरह की समस्या में भाग गया, मुझे घूमने के घंटों लगे! मुझे आखिरकार समाधान मिला। अपने विषय फ़ोल्डर में functions.php में निम्न कोड जोड़ें:

$option_posts_per_page = get_option('posts_per_page'); 
add_action('init', 'my_modify_posts_per_page', 0); 
function my_modify_posts_per_page() { 
    add_filter('option_posts_per_page', 'my_option_posts_per_page'); 
} 
function my_option_posts_per_page($value) { 
    global $option_posts_per_page; 
    if (is_tax('portfolio-category')) { 
     return 2; 
    } else { 
     return $option_posts_per_page; 
    } 
} 

URL for the solution

2

आप सेटिंग पर 24 प्रति पृष्ठ पदों सेट करने की आवश्यकता -> WP व्यवस्थापक में पढ़ना पेज। उम्मीद है कि यह किसी की मदद करता है।

0

हो सकता है आप जबकि घोषित कस्टम वर्गीकरण आप को छोड़कर खोज अक्षम करना चाहिए पृष्ठांकन

सक्षम करने के लिए खोज करने के लिए सक्षम की जरूरत है।

exclude_from_search => false 

यह मेरी समस्या को ठीक करता है।

+0

कृपया REME प्रतिक्रिया में शामिल करते समय सही विधि के साथ कोड प्रारूपित करने के लिए mber। जिस आइकन को आप प्रेस करना चाहते हैं वह {} की बजाय {} है। – mylogon

0

मैं निम्नलिखित समाधान साझा करना चाहते हैं (अपने विषय में functions.php में यह कोड शामिल):

function fix_taxonomy_pagination ($query) { 
    // not an admin page and it is the main query 
    if (!is_admin() && $query->is_main_query()){ 

    if(is_tax()){ 
     // where 24 is number of posts per page on custom taxonomy pages 
     $query->set('posts_per_page', 24); 

    } 
    } 
} 
add_action('pre_get_posts', 'fix_taxonomy_pagination'); 

source

1

मैं WP-PageNavi उपयोग करने की कोशिश की है लेकिन यह इतना काम नहीं मैं पृष्ठांकन इस्तेमाल किया Wordpress यह स्वयं से, मैं twentyfourteen_paging_nav() फ़ंक्शन प्रपत्र Twentyfourteen इस्तेमाल किया becuse यह एक वर्गीकरण पेज, कोड है यहाँ है:

if (! function_exists('twentyfourteen_paging_nav')) : 
function twentyfourteen_paging_nav() { 
global $wp_query, $wp_rewrite; 

// Don't print empty markup if there's only one page. 
if ($wp_query->max_num_pages < 2) { 
    return; 
} 

$paged  = get_query_var('paged') ? intval(get_query_var('paged')) : 1; 
$pagenum_link = html_entity_decode(get_pagenum_link()); 
$query_args = array(); 
$url_parts = explode('?', $pagenum_link); 

if (isset($url_parts[1])) { 
    wp_parse_str($url_parts[1], $query_args); 
} 

$pagenum_link = remove_query_arg(array_keys($query_args), $pagenum_link); 
$pagenum_link = trailingslashit($pagenum_link) . '%_%'; 

$format = $wp_rewrite->using_index_permalinks() && ! strpos($pagenum_link, 'index.php') ? 'index.php/' : ''; 
$format .= $wp_rewrite->using_permalinks() ? user_trailingslashit($wp_rewrite->pagination_base . '/%#%', 'paged') : '?paged=%#%'; 

// Set up paginated links. 
$links = paginate_links(array(
    'base'  => $pagenum_link, 
    'format' => $format, 
    'total' => $wp_query->max_num_pages, 
    'current' => $paged, 
    'mid_size' => 1, 
    'add_args' => array_map('urlencode', $query_args), 
    'prev_text' => __('&larr; Previous', 'twentyfourteen'), 
    'next_text' => __('Next &rarr;', 'twentyfourteen'), 
)); 

if ($links) : 

?> 

<nav class="pagination-contaner" role="navigation"> 
    <h1 class="screen-reader-text"><?php _e('Posts navigation', 'twentyfourteen'); ?></h1> 
    <ul class="pagination"> 
     <?php echo $links; ?> 
    </ul><!-- .pagination --> 
</nav><!-- .navigation --> 
<?php 
endif; 
} 
endif; 
संबंधित मुद्दे