2015-10-18 69 views
2

我有一個使用內置插件的視覺作曲家的WordPress主題。博客和圖書館是一個功能,然後在頁面上表示爲簡碼。每當我嘗試添加一些分頁功能,它都不起作用。分頁在其他「正常」頁面上工作,如檔案或搜索。任何線索?WordPress - 添加分頁 - 視覺作曲家

<?php function hsv_blog($atts, $content = '', $id = '') { 

extract(shortcode_atts(array(
    'id'    => '', 
    'class'   => '', 
    'cats'   => '', 
    'limit'   => '', 
    'page_name'  => '', 
    ), $atts)); 

$args = array(
    'post_type' => 'post', 
    'posts_per_page' => $limit, 
    'tax_query'  => array(
     array(
      'taxonomy' => 'category', 
      'field'  => 'ids', 
      'terms'  => explode(',', $cats), 
      ), 
     ) 
    ); 

ob_start(); 

$q = new WP_Query($args); 

if ($q->have_posts()) while ($q->have_posts()) : $q->the_post(); 
$post_format = (get_post_format() == true) ? get_post_format():'standard'; 

switch ($post_format) { 
    case 'aside': 
    case 'quote': 
    $class = ' grey'; 
    break; 

    default: 
    $class = ''; 
    break; 
} 

global $hsv_opt; 
// general settings 
$type_website = $hsv_opt['general-type-website']; 
$pg_class = ($type_website == 2) ? ' home' : ''; ?> 
<div id="post-<?php the_ID(); ?>" <?php post_class('element clearfix col1-3 blog auto bi'.$class.$pg_class); ?>> 
    <?php get_template_part('post-formats/content', $post_format); ?> </div> <?php endwhile; ?> <?php wp_reset_query(); ?> <?php return ob_get_clean(); } add_shortcode('hsv_blog', 'hsv_blog'); ?> 

分頁的功能文件:

function wpbeginner_numeric_posts_nav() { 

if(is_singular()) 
    return; 

global $wp_query; 

/** Stop execution if there's only 1 page */ 
if($wp_query->max_num_pages <= 1) 
    return; 

$paged = get_query_var('paged') ? absint(get_query_var('paged')) : 1; 
$max = intval($wp_query->max_num_pages); 

/** Add current page to the array */ 
if ($paged >= 1) 
    $links[] = $paged; 

/** Add the pages around the current page to the array */ 
if ($paged >= 3) { 
    $links[] = $paged - 1; 
    $links[] = $paged - 2; 
} 

if (($paged + 2) <= $max) { 
    $links[] = $paged + 2; 
    $links[] = $paged + 1; 
} 

echo '<div class="navigation"><ul>' . "\n"; 

/** Previous Post Link */ 
if (get_previous_posts_link()) 
    printf('<li>%s</li>' . "\n", get_previous_posts_link()); 

/** Link to first page, plus ellipses if necessary */ 
if (! in_array(1, $links)) { 
    $class = 1 == $paged ? ' class="active"' : ''; 

    printf('<li%s><a href="%s">%s</a></li>' . "\n", $class, esc_url(get_pagenum_link(1)), '1'); 

    if (! in_array(2, $links)) 
     echo '<li>…</li>'; 
} 

/** Link to current page, plus 2 pages in either direction if necessary */ 
sort($links); 
foreach ((array) $links as $link) { 
    $class = $paged == $link ? ' class="active"' : ''; 
    printf('<li%s><a href="%s">%s</a></li>' . "\n", $class, esc_url(get_pagenum_link($link)), $link); 
} 

/** Link to last page, plus ellipses if necessary */ 
if (! in_array($max, $links)) { 
    if (! in_array($max - 1, $links)) 
     echo '<li>…</li>' . "\n"; 

    $class = $paged == $max ? ' class="active"' : ''; 
    printf('<li%s><a href="%s">%s</a></li>' . "\n", $class, esc_url(get_pagenum_link($max)), $max); 
} 

/** Next Post Link */ 
if (get_next_posts_link()) 
    printf('<li>%s</li>' . "\n", get_next_posts_link()); 

echo '</ul></div>' . "\n";} 

回答

0

我有同樣的問題,試圖創建一個顯示從我的自定義後元素可視化編輯器的元素。

解決辦法: while循環裏面添加:$totalPages = $q->max_num_pages;現在,你可以通過$totalPages你的分頁功能。

下面我添加了我的分頁功能。使用的

實施例:my_pagination($totalPages);

function my_pagination($pages = '', $range = 2) { 

$showitems = ($range * 2)+1; 

global $paged; 
if(empty($paged)) $paged = 1; 

if($pages == '') { 
    global $wp_query; 
    $pages = $wp_query->max_num_pages; 
    if(!$pages) { 
     $pages = 1; 
    } 
} 

if(1 != $pages) { 
    echo "<div class='pagination'>"; 
    if($paged > 2 && $paged > $range+1 && $showitems < $pages) echo "<a href='".get_pagenum_link(1)."'>&laquo;</a>"; 
    if($paged > 1 && $showitems < $pages) echo "<a href='".get_pagenum_link($paged - 1)."'>&lsaquo;</a>"; 

    for ($i=1; $i <= $pages; $i++) { 
     if (1 != $pages &&(!($i >= $paged+$range+1 || $i <= $paged-$range-1) || $pages <= $showitems)) { 
      echo ($paged == $i)? "<span class='current'>".$i."</span>":"<a href='".get_pagenum_link($i)."' class='inactive' >".$i."</a>"; 
     } 
    } 

    if ($paged < $pages && $showitems < $pages) echo "<a href='".get_pagenum_link($paged + 1)."'>&rsaquo;</a>"; 
    if ($paged < $pages-1 && $paged+$range-1 < $pages && $showitems < $pages) echo "<a href='".get_pagenum_link($pages)."'>&raquo;</a>"; 
    echo "</div>\n"; 
} 

}

相關問題