Я пытаюсь использовать различные методы в течение большей части последних трех дней, и я просканировал бесчисленные ответы здесь на поддержку StackOverflow и Wordpress. Возможно ли иметь разбиение на страницы в моем плагине, в котором перечислены сообщения для администратора?WordPress Pagination не работает в Plugin Admin
Мой плагин отображает сообщения для администратора, чтобы они могли просматривать определенные детали и добавлять/редактировать конкретные параметры для каждой страницы. Я понимаю, что это можно сделать с использованием метаданных на каждой отдельной странице, но мне нужно сделать так: Загрузите, скажем, 25 сообщений за раз, и позвольте администратору добавлять незначительные сведения о каждом из них.
Я пробовал все варианты (я говорю каждый, но давайте просто скажем, что это все варианты, которые я могу найти на 20 страницах или около того для Google для всех видов поисковых фраз) с использованием previous_posts_links
, paginate_links()
и т. Д .; Я пробовал использовать пользовательские функции wp_query()
, создавая экземпляр новой wp_query и восстанавливая ее, когда я закончил (не рекомендуется), и вообще избегал использования query_posts()
. Я пробовал добавлять pre_get_posts()
функции - но на тот момент, в то время как get_posts()
может быть быстрее, чем запуск нового wp_query()
, по-видимому, это еще сложнее использовать с разбиением на страницы его результатов.
код я попытался включить всевозможные вариации этой идеи:
<?php
$paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
$my_query = new WP_Query(
array(
'number' => -1,
'posts_per_page' => '25',
'paged' => $paged
));
while ($my_query->have_posts()) : $my_query->the_post();
echo "<div style='border:2px groove black; margin-bottom:5px;'><h3 class='postlist'>";
the_title();
echo "</h3></div>";
endwhile; ?>
<nav>
<?php previous_posts_link('« Newer', $my_query->max_num_pages) ?>
<?php next_posts_link('Older »', $my_query->max_num_pages) ?>
</nav>
(я обрезанный из спасительных вещи так, что легче читать варианты). Отметив этот бит: $paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
Я также пробовал его как «страницу», а не «выгружался», и это не имеет никакого эффекта.
Эта функция отображает то, что мне нужно: количество постов я ищу для загрузки, и, кажется, правильно получить нумерацию страниц и ссылок на пагинацией правильный, но при нажатии на любую ссылку постраничной генерироваться ничего не делает.
Я пробовал исправить Криса Койера относительно $temp = wp_query... etc
, а затем восстановить его, но это тоже не сработает.
Любые идеи, чтобы получить эту работу? Огромное спасибо заранее! Я каждый день разорвал свои волосы часами и почти никуда не уходил.
EDIT: Кроме того, этот пример (ниже) берется непосредственно из Кодекса, производит пронумерованные ссылки, но в то время как у них есть правильный путь/URL для пагинации фактически не прогрессируют к странице 2, стр.3, или так на.
$big = 999999999; // need an unlikely integer
echo paginate_links(array(
'base' => str_replace($big, '%#%', esc_url(get_pagenum_link($big))),
'format' => '?paged=%#%',
'current' => max(1, get_query_var('paged')),
'total' => $my_query->max_num_pages
));
Это дает мне ссылки на 1, 2, 3 Следующая - но даже думал, что URL добавляет &page=2
ссылки не работают.
Если вы вручную набираете номер страницы? = 2 и т. Д. ... это вообще работает? Проблема с ссылками для разбивки на страницы может быть связана с использованием значения «$ my_query-> max_num_pages» - я бы сохранил это как переменную, прежде чем запускать цикл while и использовать эту переменную в вашем коде разбиения на страницы. –
Когда я набираю 'admin.php?page = my-plugin-posts & paged = 2' загружает ** первую ** страницу (как это делалось), но когда я набираю 'admin.php? page = my-plugin-posts & page = 2' (обратите внимание на' page' а не 'paged'), это дает мне уведомление об отсутствии у вас. Я попытался запустить '$ mnp = $ the_query-> max_num_pages;' перед циклом while и все еще ничего; Я также попытался запустить его перед циклом непосредственно после запроса и все равно ничего. EDIT: Спасибо, кстати. :) – RalphTheWonderLlama
$ paged = (get_query_var ('paged'))? get_query_var ('paged'): 1; может быть ваша проблема тогда - вы могли бы просто попробовать ... '$ paged = isset ($ _ GET ['paged])? $ _GET ['paged]: 1; ваши ссылки на страницы должны ссылаться на страницы, а не страницу. –