Посторінкова навігація на статичній сторінці у WordPress

Посторінкова навігація на статичній сторінці у WordPress

23.01.2010 21:08 3 comments

Стикнувся з цікавим питанням: потрібно реалізувати посторінкову навігацію на статичній сторінці із нестандартним тегом Query_posts.

Ось нестандартний (кастомний або custom) тег який я застосував:

query_posts('cat=1&showposts=10');

Даний код доволі простий і дозволяє виводити 10 останніх постів з категорії під номером один. Проте, його одного не достатньо, щоб на статичній сторінці працювала посторінкова навігація (pagination).

Щоб уникнути непорозумінь, хочу нагадати, що крім вище наведеного тега query_posts на сторінці ще повинні бути присутні код циклу The Loop та теги next_posts_link та previous_posts_link()! Але зміни, які необхідно зробити, щоб посторінкова навігація працювала на статичній сторінці, стосуються лише Query_posts. Тому у цій статті я зосереджую увагу саме на цей тег.

Проте, якщо залишити все у такому вигляді, то на статичній сторінці навігація не працюватиме! Тобто, на статичній сторінці виводитимуться лише 10 останніх постів першої категорії, а от на 11 і далі – ви посилання не побачите. Марно також використовувати спеціальні плагіни, покликані красиво оформити навігаційні посилання (приміром, Wp-PageNavi (українізована версія)) – вони не спрацюють!

Щоб навігація запрацювала, необхідно у тег query_posts, окрім параметрів категорії та кількості постів, додати параметр посторінкової навігації (Pagination Parameters). Найоптимальнішим буде ось такий код:

$paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
query_posts('cat=1&showposts=10&paged=' . $paged);

Даний код розділяє пости на групи (фактично, сторінки) по 10 постів у кожній та виводить вміст першої групи на статичну сторінку.


Ресурс для тех, кто ищет работу или занимается поиском квалифицированного персонала. Зарегестрируйтесь и добавьте свою вакансию или резюме.
Multilingual WordPress

3 Коментарів

Залишити відгук


:D :-) :( :o 8O :? 8) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen:

Повідомляти мене про нові коментарі на e-mail. Ви також можете підписатись не коментуючи.