Intereting Posts
Как установить делегат декодирования для изображений в xampp-окнах «Пользователь не включен для прямой трансляции» Ошибка Использование магических методов PHP __sleep и __wakeup Создание случайных чисел с плавающей точкой в ​​диапазоне PHP CakePHP принадлежит отношению с переменным полем «модель» Symfony2 Elastica bundle (elasticsearch) – можно ограничить только «активные» предметы? Xdebug игнорирует точки останова В чем разница между открытыми тегами PHP «<? =» И «<? Php» / «<?»? SQLSTATE : Общая ошибка: 1366 Неправильное целочисленное значение: любое решение? как установить выделенный тег значения <select> html из базы данных в php? Ограничить страницу WordPress по IP отправить массив значений через сообщение ajax Сделать модель, миграцию и контроллер с одним командным и правильным множественным окончанием Как использовать FormData для загрузки файла ajax Проблема перенаправления PHP-страницы – Невозможно изменить информацию заголовка

Добавить разбивку на страницы в wordpress admin в моем собственном настроенном плагине

Я хочу отобразить разбивку на страницы на одной из моих плагинов, созданных мной .. Я попробовал множество примеров, но никто не работает.

я буду отличаться благодарностью, если кто-нибудь может дать ответ …

примечание: я хочу разбиение на страницы в конце (в админ) не в передней части

Solutions Collecting From Web of "Добавить разбивку на страницы в wordpress admin в моем собственном настроенном плагине"

Простые шаги:

$pagenum = isset( $_GET['pagenum'] ) ? absint( $_GET['pagenum'] ) : 1; 

Найти общее количество записей

 $limit = 10; // number of rows in page $offset = ( $pagenum - 1 ) * $limit; $total = $wpdb->get_var( "SELECT COUNT(`id`) FROM {$wpdb->prefix}table_name" ); $num_of_pages = ceil( $total / $limit ); 

Дайте ограничение:

 $entries = $wpdb->get_results( "SELECT * FROM {$wpdb->prefix}table_name LIMIT $offset, $limit" ); 

Добавьте этот код, где хотите разбиение на страницы:

 $page_links = paginate_links( array( 'base' => add_query_arg( 'pagenum', '%#%' ), 'format' => '', 'prev_text' => __( '&laquo;', 'text-domain' ), 'next_text' => __( '&raquo;', 'text-domain' ), 'total' => $num_of_pages, 'current' => $pagenum ) ); if ( $page_links ) { echo '<div class="tablenav"><div class="tablenav-pages" style="margin: 1em 0">' . $page_links . '</div></div>'; } 

сначала спасибо Лоуренсу Черему за ответ

но я решил эту проблему по-другому .. и решение здесь

Я использую второй вариант, который имеет заголовок «Как добавить разбиение на страницы на WordPress плагин?» .. это дает почти ту же функциональность разбиения на страницы, что и WordPress.

не забудьте загрузить этот файл «pagination.class.php», поместите его в свою папку с плагином и укажите соответствующий путь, включив этот файл в свой плагин.

отправлять комментарии для mor help ..

может это вам поможет. Спасибо

Общая функция разбиения на страницы.

Этот пример выглядит так на большом db:

<< Предыдущая 1 2 3 4 5 6 7 8 9822 823 Следующая >>

или

<< Предыдущая 1 2815 816 817 818 819 820 821 822 823 Следующая >>

или

<< Предыдущая 1 2812 813 814 815 816 817 818822 823 Следующая >>

наслаждаться…

 <?php /*Max Number of results to show*/ $max = 10; /*Get the current page eg index.php?pg=4*/ if(isset($_GET['pg'])){ $p = (int) $_GET['pg']; }else{ $p = 1; } $limit = ($p - 1) * $max; $prev = $p - 1; $next = $p + 1; $limits = (int)($p - 1) * $max; //This is the query to get the current dataset (change api to suit) $result = mysqli_query($res, 'SELECT * from yourtable limit '.$limits.','.$max.''); //Get total records from db (change api to suit) $totalres = mysqli_result($res, mysqli_query($res, 'SELECT COUNT(id) AS tot FROM yourtable"'),0); //devide it with the max value & round it up $totalposts = ceil($totalres / $max); $lpm1 = $totalposts - 1; echo pagination($totalposts, $p, $lpm1, $prev, $next); //The function function pagination($totalposts, $p, $lpm1, $prev, $next){ $adjacents = 3; if($totalposts > 1) { $pagination .= "<center><div>"; //previous button if ($p > 1) $pagination.= "<a href=\"?pg=$prev\"><< Previous</a> "; else $pagination.= "<span class=\"disabled\"><< Previous</span> "; if ($totalposts < 7 + ($adjacents * 2)){ for ($counter = 1; $counter <= $totalposts; $counter++){ if ($counter == $p) $pagination.= "<span class=\"current\">$counter</span>"; else $pagination.= " <a href=\"?pg=$counter\">$counter</a> ";} }elseif($totalposts > 5 + ($adjacents * 2)){ if($p < 1 + ($adjacents * 2)){ for ($counter = 1; $counter < 4 + ($adjacents * 2); $counter++){ if ($counter == $p) $pagination.= " <span class=\"current\">$counter</span> "; else $pagination.= " <a href=\"?pg=$counter\">$counter</a> "; } $pagination.= " ... "; $pagination.= " <a href=\"?pg=$lpm1\">$lpm1</a> "; $pagination.= " <a href=\"?pg=$totalposts\">$totalposts</a> "; } //in middle; hide some front and some back elseif($totalposts - ($adjacents * 2) > $p && $p > ($adjacents * 2)){ $pagination.= " <a href=\"?pg=1\">1</a> "; $pagination.= " <a href=\"?pg=2\">2</a> "; $pagination.= " ... "; for ($counter = $p - $adjacents; $counter <= $p + $adjacents; $counter++){ if ($counter == $p) $pagination.= " <span class=\"current\">$counter</span> "; else $pagination.= " <a href=\"?pg=$counter\">$counter</a> "; } $pagination.= " ... "; $pagination.= " <a href=\"?pg=$lpm1\">$lpm1</a> "; $pagination.= " <a href=\"?pg=$totalposts\">$totalposts</a> "; }else{ $pagination.= " <a href=\"?pg=1\">1</a> "; $pagination.= " <a href=\"?pg=2\">2</a> "; $pagination.= " ... "; for ($counter = $totalposts - (2 + ($adjacents * 2)); $counter <= $totalposts; $counter++){ if ($counter == $p) $pagination.= " <span class=\"current\">$counter</span> "; else $pagination.= " <a href=\"?pg=$counter\">$counter</a> "; } } } if ($p < $counter - 1) $pagination.= " <a href=\"?pg=$next\">Next >></a>"; else $pagination.= " <span class=\"disabled\">Next >></span>"; $pagination.= "</center>\n"; } return $pagination; } ?>