Вопрос по wordpress, blogs – Может ли навигация post_nav_link работать с пользовательскими шаблонами страниц WordPress?

1

Я использую пользовательские шаблоны страниц для структурирования различных макетов блогов в своей теме WordPress, которую я хочу продать. Все работает нормально, кроме навигации post_nav_link (предыдущий пост | следующий пост). Кодекс WordPress говорит, что post_nav_links не будет работать с пользовательскими шаблонами страниц, но я действительно не хочу начинать все сначала. Что я могу сделать, чтобы навигация post_nav_link работала с пользовательскими шаблонами страниц?

Кодекс Ссылка:http://codex.wordpress.org/Next_and_Previous_Links

Это страницы или посты? Вы пробовали предложение в нижней части кодекса? Christian Varga
@ChristianVarga да, я пробовал решение в нижней части страницы, но затем оно превращает навигацию в моем блоге в постраничную навигацию. Например, я нажму на следующую страницу, и она перейдет на мою страницу контактов вместо следующей страницы постов в блоге. James Banks
Ах, теперь я понял. Я вернусь к вам позже сегодня. janw
ЕСЛИ я прав, следующий и предыдущий не работают на страницах, а только на сообщениях. На основании чего вы хотите ориентироваться? janw
@janw Я настроил свои собственные шаблоны страниц блога так, чтобы на каждой странице отображалось только 3 сообщения. Я хочу реализовать разбиение на страницы, чтобы пользователь мог переходить на страницы, содержащие старые и новые сообщения. James Banks

Ваш Ответ

2   ответа
0

я попробую это утром. Прежде чем я это сделаю, не могли бы вы подтвердить мне, что это правильный путь к тегу PHP первой партии кода?

        <?php query_posts("posts_per_page=3"); ?> <!-- Do I keep this line? -->
        <?php $paged = get_query_var('paged'); ?>
        <?php $offset = 0;
        if ($paged != 0 ) {
            //$paged -1 because there is no page 1, just 0 and 2 And page 0 is skipped
            $offset = ($paged-1) * get_query_var('posts_per_page') ;
        } ?>
        <?php query_posts('offset=' . $offset); ?>
        <?php if (have_posts()) : while (have_posts()) : the_post(); ?>
Привет, Джеймс, пропусти первую строчку, это не должно иметь значения, но это просто ужасно. Также не закрывайте и не открывайте<?php,?> если нетHTML между ними это просто уродливо и немного медленнее. Также, если Мой ответ правильный, примите мой ответ.
1

это работает для моего пользовательского шаблона, вам может понадобиться добавить аргументы вquery_posts но ключ это смещение.

$paged = get_query_var('paged');

$offset = 0;
if ($paged != 0 ) {
    //$paged -1 because there is no page 1, just 0 and 2 And page 0 is skipped
    $offset = ($paged-1) * get_query_var('posts_per_page') ;
}
query_posts('offset=' . $offset);
if (have_posts()) : while (have_posts()) : the_post();
       // the loop

и для нумерации страниц:

<div id="pagination">
    <div id="pagination-previous"><?php previous_posts_link('previous'); ?></div>
    <div id="pagination-next"><?php next_posts_link('next'); ?></div>
</div>
Да! Это сделал это! Большое вам спасибо @janw! James Banks
Шаблон публикации, содержащий ваш код, работает, однако, только когда я задаю страницу с шаблоном публикации в качестве статической титульной страницы в Настройках & gt; Чтение панели внутри Wordpress, нумерация страниц не работает. Я должен сделать это, чтобы страница появлялась при активированном адаптивном мобильном навигационном контейнере. James Banks
Посмотрите на этот вопрос и мой ответ там:stackoverflow.com/questions/10121230/…
Извините, что снова раздражаю вас этим, но я думаю, что бросил пистолет на этот. Ваш метод отлично работает для моего файла home.php, но когда я превращаю этот файл в шаблон страницы, добавив & quot; & lt;? Php / * Имя шаблона: * /? & Gt; строка кода в верхней части файла и установить его в качестве пользовательского шаблона для страницы, нумерация страниц не работает. James Banks
Эта проблема все еще стоит. Я уверен, что это связано с вопросами, поднятыми здесь:wordpress.org/support/topic/… и здесь:core.trac.wordpress.org/ticket/13471  Я протестировал решения из обоих источников, и я просто не могу заставить их работать. Пожалуйста помоги! James Banks

Похожие вопросы