Правильна посторінкова навігація в WordPress без плагінів

Я почав дуже ретельно переглядати всі внутрішні посилання на блог, раптом я десь сам встановив такі посилання і не помітив. Але як ви вже, мабуть, зрозуміли із заголовка посту, я знайшов проблему у посторінковій навігації мого WP.

Перша думка – кривий плагін WP-Pagenavi, не інакше. Але це не головне.

Я згадав, що колись чув, що можна зробити посторінкову навігацію для WordPress і без будь-яких плагінів - пішов шукати і тут же знайшов безліч варіантів. У мене була надія, що якщо робити все самому і вручну без плагінів, то таких косяків не повинно бути. Виявилося інакше – деякі «самопали» насправді виявилися ще гіршими, і замість того, щоб показувати посилання на основну сторінку і без слєшу, як мені треба, вони показували /page/1, що є повним дублем основної сторінки, при цьому реально існуючим.

Що ж, знову доведеться пиляти — мені не в першій. Для цього я вибрав найадекватніше зі знайдених рішень (ось воно) за що велике спасибі блогу wp-kama.ru. До речі, проблема посторінкової навігації в цьому варіанті така ж, як і в плагіні WP-Pagenavi - зайвий сліш для першої сторінки. Але є безперечний плюс – ми позбавимося плагіна!

Отже, кілька причин, з яких варто відмовитися від плагіна WP-Pagenavi на користь альтернативи, запропонованої в цьому пості:

Менше слів, більше справи - розглянемо код і що з ним робити.

Відкриваємо в адмінці «Зовнішній вигляд -> Редактор» та вибираємо Функції теми (functions.php). На початок цього файлу вставляємо наступний код:

Багато хто може не помітити, чим саме мій варіант відрізняється від оригіналу, запропонованого kama. Пояснюю:змінено порядок виведення, тобто місцями поміняно деякі елементи, тепер стало більш юзабельно; і найголовніше – при формуванні деяких посилань я застосував php-функцію string rtrim ( string $str [, string $charlist ] ) , яка повертає мені рядок, але без слюху в кінці, якщо він є – що, власне, і потрібно спочатку.

Далі у всіх файлах шаблону, в яких потрібно додати навігацію, необхідно в зручне місце вставити:

Якщо ви вагаєтесь з тим куди це треба вставляти, просто шукайте щось подібне:

І заміняйте на вказаний вище рядок.

Ось і все готово, друзі!

Тепер залишається відкрити файл /wp-content/plugins/wp-pagenavi/pagenavi-css.css скопіювати звідти весь код і вставити його у свій css файл (зазвичай це style.css і лежить у папці з вашою темою оформлення).

Ну і останній крок - деактивуємо плагін WP-Pagenavi в адмінці і повністю видаляємо його папку з сервера ;)

PS Заради інтересу перевірив перші блоги – на всіх є така проблема, вирішення якої я описав :)

Удачі вам, друзі, і пам'ятайте - у SEO не буває дрібниць!