s.pescina
Forum Replies Created
-
Forum: Plugins
In reply to: [WP-Paginate] WP-Paginate and custom queriesYou have 2 custom queries and the one you are passing to the wp_paginate function doesn’t have the paged var.
It seems to me you have to simply delete the second last line and then call wp_paginate(false,$my_query);
let me know
bye
Forum: Plugins
In reply to: [WP-Paginate] WP-Paginate and custom queriesplease post here your template code so I can figure out what’s the problem.
bye
Forum: Plugins
In reply to: [WP-Paginate] WP-Paginate and custom queriesHi Jameson.
No, I didn’t plan anything. I don’t know how to work in this open source situations… Are there any rules to follow?Anyway, I don’t think to have the time for this right now, so you can do whatever you want.
Only try to keep open this thread, please.
Thank you.Forum: Plugins
In reply to: [WP-Paginate] WP-Paginate and custom queriesI think you only have to append the page number to your custom query.
With get_query_var function you can take page parameter passed to the page by the url.$current_page = (get_query_var('paged')) ? get_query_var('paged') : 1; $my_query = new WP_Query('category_name=news&posts_per_page=5&paged='.$current_page);Wp-paginate takes only care of the navigation system. The plugin doesn’t do nothing on the query wp executes so you have to built it by yourself.
Forum: Plugins
In reply to: [WP-Paginate] WP-Paginate and custom queriesThese are the changes I made in wp-paginate.php
/** * Pagination based on options/args */ function paginate($args = false,$wp_query = false) { if ($this->type === 'comments' && !get_option('page_comments')) return; $r = wp_parse_args($args, $this->options); extract($r, EXTR_SKIP); if (!isset($page) && !isset($pages)) { if ($this->type === 'posts') { if(!$wp_query){ global $wp_query; $posts_per_page = get_query_var('posts_per_page'); $page = get_query_var('paged'); } else { $posts_per_page = $wp_query->query_vars['posts_per_page']; $page = $wp_query->query_vars['paged']; } $pages = intval(ceil($wp_query->found_posts / $posts_per_page)); } else { $page = get_query_var('cpage'); $comments_per_page = get_option('comments_per_page'); $pages = get_comment_pages_count(); } $page = !empty($page) ? intval($page) : 1; } $prevlink = ($this->type === 'posts') ? esc_url(get_pagenum_link($page - 1)) : get_comments_pagenum_link($page - 1); $nextlink = ($this->type === 'posts') ? esc_url(get_pagenum_link($page + 1)) : get_comments_pagenum_link($page + 1); $output = stripslashes($before); if ($pages > 1) { $output .= sprintf('<ol class="wp-paginate%s">', ($this->type === 'posts') ? '' : ' wp-paginate-comments'); $output .= sprintf('<li><span class="title">%s</span></li>', stripslashes($title)); $ellipsis = "<li><span class='gap'>...</span></li>"; if ($page > 1 && !empty($previouspage)) { $output .= sprintf('<li><a href="%s" class="prev">%s</a></li>', $prevlink, stripslashes($previouspage)); } $min_links = $range * 2 + 1; $block_min = min($page - $range, $pages - $min_links); $block_high = max($page + $range, $min_links); $left_gap = (($block_min - $anchor - $gap) > 0) ? true : false; $right_gap = (($block_high + $anchor + $gap) < $pages) ? true : false; if ($left_gap && !$right_gap) { $output .= sprintf('%s%s%s', $this->paginate_loop(1, $anchor), $ellipsis, $this->paginate_loop($block_min, $pages, $page) ); } else if ($left_gap && $right_gap) { $output .= sprintf('%s%s%s%s%s', $this->paginate_loop(1, $anchor), $ellipsis, $this->paginate_loop($block_min, $block_high, $page), $ellipsis, $this->paginate_loop(($pages - $anchor + 1), $pages) ); } else if ($right_gap && !$left_gap) { $output .= sprintf('%s%s%s', $this->paginate_loop(1, $block_high, $page), $ellipsis, $this->paginate_loop(($pages - $anchor + 1), $pages) ); } else { $output .= $this->paginate_loop(1, $pages, $page); } if ($page < $pages && !empty($nextpage)) { $output .= sprintf('<li><a href="%s" class="next">%s</a></li>', $nextlink, stripslashes($nextpage)); } $output .= "</ol>"; } $output .= stripslashes($after); if ($pages > 1 || $empty) { echo $output; } }and
/** * Pagination function to use for posts */ function wp_paginate($args = false,$wp_query = false) { global $wp_paginate; $wp_paginate->type = 'posts'; return $wp_paginate->paginate($args,$wp_query); }Then in my theme files I used plugin function in this way:
$custom_query = new WP_Query([***your custom query here***]); wp_paginate(false,$custom_query);Hope this helps.
Bye