2013-12-20 10 views
0

У меня есть настраиваемый плагин типа сообщения, который приводит все сообщения через короткий код. все это хорошо работает. Я хочу иметь возможность разбивать страницы на возвращаемые сообщения с помощью jquery и пробовать различные способы из онлайн-уроков. Последние два дня были болезненными.Wordpress cpt pagination

Мой кода:

function xma_display_stores() { 
    $paged = (get_query_var('paged')) ? get_query_var('paged') : 2; 
    $args = array('post_type' = > 'stores', 'orderby' = > 'title', 'order' = > 'asc', 'posts_per_page' = > $paged); 
    $success = new WP_Query($args); 
    $output = ''; 
    $output. = sprintf("<table class='stores'>"); 
    $output. = sprintf("<tr><th>File Name</th><th>Date added</th><th>Download</th></tr>"); 
    while ($success - > have_posts()) { 
     $success - > the_post(); 
     $output. = sprintf("<tr>"); 
     $output. = sprintf("<td>%s</td>", get_the_title()); 
     $output. = sprintf("<td>%s</td>", get_the_date()); 
     $output. = sprintf("<td>%s</td>", wp_get_attachment_link()); 
     $output. = sprintf("<tr>"); 
    } 
    $output. = sprintf("</tr></table>"); 
    $output. = sprintf("<p>%s</p>", next_posts_link('Next set')); 
    $output. = sprintf("<p>%s</p>", previous_posts_link('Prev set')); 
    return $output; 
} 
add_shortcode('display_stores', 'xma_display_stores'); 
+0

Если вы хотите постраничной с JQuery просто использовать плагин DataTables http://datatables.net/ – Hackerman

+0

Я не хочу использовать плагин - сам код находится в плагине, и я хочу, чтобы он был автономным. – jolen

+0

Можете ли вы показать нам кепку с выходом вашего плагина, кажется, что ваш Next Set и Prev Set не работает правильно? – Hackerman

ответ

1

Заменить версию $ страничных и $ арг с:

$paged = (get_query_var('paged')) ? get_query_var('paged') : 1; 
$args = array('post_type' = > 'stores', 'orderby' = > 'title', 'order' = > 'asc', 'paged' => $paged); 

posts_per_page определяет, сколько сообщений для отображения на странице, а не какая страница должностей показать.

Также добавьте $ успеш-> max_num_pages как второй аргумент next_posts_link так:

$output. = sprintf("<p>%s</p>", next_posts_link('Next set', $success->max_num_pages)); 
+0

Работал! большое спасибо :) – jolen

+0

Извинения - не работало после обновления браузера, просто показывает два магазина в таблице, а внизу - нижние ссылки внизу. – jolen

+0

Мне также нужно отображать 10 магазинов за раз, а не 1 – jolen