Правильна посторінкова навігація в 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 не буває дрібниць!