how to make default wordpress gallery pagination
-
i have this code in functions.php, and i want to make pagination on default wordpress gallery, so can you help me to how can i make wordpress gallery pagination, this code is not working…
one page show 20 images per page
help ….and how can i add pagination in index.php or in main page…
/*FILTER: GALLERY: --------------------------------------------------------------*/ add_filter('post_gallery', 'filter_gallery', 10, 2); function filter_gallery() { global $post; //GALLERY SETUP STARTS HERE----------------------------------------// if (isset($attr['orderby'])) { $attr['orderby'] = sanitize_sql_orderby($attr['orderby']); if (!$attr['orderby']) unset($attr['orderby']); } //print_r($attr); extract(shortcode_atts(array( 'order' => 'ASC', 'orderby' => 'menu_order ID', 'id' => $post->ID, 'itemtag' => 'dl', 'icontag' => 'dt', 'captiontag' => 'dd', 'columns' => 2, 'size' => 'thumbnail', 'include' => '', 'exclude' => '' ), $attr)); $id = intval($id); if ('RAND' == $order) $orderby = 'none'; if (!empty($include)) { $include = preg_replace('/[^0-9,]+/', '', $include); $_attachments = get_posts(array('include' => $include, 'post_status' => 'inherit', 'post_type' => 'attachment', 'post_mime_type' => 'image', 'order' => $order, 'orderby' => $orderby)); $attachments = array(); foreach ($_attachments as $key => $val) { $attachments[$val->ID] = $_attachments[$key]; } } if (empty($attachments)) return ''; //GALLERY SETUP END HERE------------------------------------------// //PAGINATION SETUP START HERE-------------------------------------// $current = (get_query_var('paged')) ? get_query_var( 'paged' ) : 1; $per_page = 24; //$offset = ($page-1) * $per_page; $offset = ($current-1) * $per_page; $big = 999999999; // need an unlikely integer $total = sizeof($attachments); $total_pages = round($total/$per_page); if($total_pages < ($total/$per_page)) { $total_pages = $total_pages+1; } //PAGINATION SETUP END HERE-------------------------------------// //GALLERY OUTPUT START HERE---------------------------------------// $output = "<div class=\"gallery-images\">\n"; $counter = 0; $pos = 0; foreach ($attachments as $id => $attachment) { $pos++; //$img = wp_get_attachment_image_src($id, 'medium'); //$img = wp_get_attachment_image_src($id, 'thumbnail'); //$img = wp_get_attachment_image_src($id, 'full'); if(($counter < $per_page)&&($pos > $offset)) { $counter++; $largetitle = get_the_title($attachment->ID); $largeimg = wp_get_attachment_image_src($id, 'large'); $img = wp_get_attachment_image_src($id, array(100,100)); $output .= " <a href=\"{$largeimg[0]}\" title=\"{$largetitle}\"><img src=\"{$img[0]}\" width=\"{$img[1]}\" height=\"{$img[2]}\" alt=\"\" /></a>\n"; } } $output .= "<div class=\"clear\"></div>\n"; $output .= "</div>\n"; //GALLERY OUTPUT ENDS HERE---------------------------------------// //PAGINATION OUTPUT START HERE-------------------------------------// $output .= paginate_links( array( 'base' => str_replace($big,'%#%',esc_url(get_pagenum_link($big))), 'format' => '?paged=%#%', 'current' => $current, 'total' => $total_pages, 'prev_text' => __('?'), 'next_text' => __('?') ) ); //PAGINATION OUTPUT ENDS HERE-------------------------------------// return $output; } /*FILTER: GALLERY: --------------------------*/
Viewing 1 replies (of 1 total)
Viewing 1 replies (of 1 total)
- The topic ‘how to make default wordpress gallery pagination’ is closed to new replies.