Альтернатива wp-pagenavi - посторінкова навігація в wordpress без використання плагінів

Попалася мені якось тема, що популярний плагін WordPress wp-pagenavi навантажує сервер не в міру своєї потреби. Проаналізувавши його код з'ясував, що це всього лише міф, хоча його все ж можна трохи оптимізувати, власне цього і присвячений пост.

Якщо інші плагіни складно уявити без можливості їх налаштування в адмін-панелі, то wp-pagenavi мені представляється легко. Досить один раз налаштувати навігацію і забути про неї. І напевно є ті, хто думає так само? Тому я вирішив відмовитися від wp-pagenavi і замінити його на свою функцію. Функцію я написав, попередньо вивчивши код wp-pagenavi, частково код був узятий від туди. Всі CSS класи wp-pagenavi збережені і, як наслідок, замінити wp-pagenavi на мій варіант зовсім не важко.

Для заміни потрібно скопіювати нижченаведену функцію в файл шаблону functions.php. Також, потрібно скопіювати CSS стилі wp-pagenavi в ваш файл стилів (зазвичай це style.css). Перенесення стилів носить і корисний характер, тому що більше не буде необхідності підключати файл стилів, а це мінус один http запит.

Налаштування описані прямо в коді і вони ідентичні налаштувань wp-pagenavi, з тією лише різницею, що замість тексту "до останньої сторінки" можна вивести номер останньої сторінки.

Після того, як функція встановлена ​​і css стилі перенесені, міняємо в шаблоні код wp_pagenavi на цей:

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

CSS стилі для коду

Вище я вже сказав. що класи CSS збігаються з wp-pagenavi. Для зручності викладаю тут все CSS правила:

У моєму коді присутні 4 нових класи: first (до початку), last (до кінця), prev (назад), next (вперед).

Непогану добірку стилів можна взяти тут.

Якщо навігація виводиться 2 рази

Так само, хочу звернути увагу тих, у кого навігація виводиться 2 рази на сторінці (зверху і знизу циклу). Щоб 2 рази не виконувати одні й ті ж операції по складанню навігації, логічніше зробити так: один раз зібрати навігацію (використовувати функцію), потім записати результат в змінну і вдруге просто вивести цю змінну. Виглядає це так:

оновлення

Останній варіант функції нагорі.

  • Прибрано баг такого типу:
    1. 2 3 4 5 6 7 8 50 або 1. 21 22 23 24 25 26 27 28. 29
    Тобто, де не потрібно прибрані тексти "до" і "після" навігації (в даному прикладі це три крапки).
  • Реверсивна пагінація для WordPress

    Ідея реверсивної (зворотної) пагінацію належить sholo. який висловив її на відомому нам форумі - mywordpress.ru. Мені стало цікаво подивитися, як це буде виглядати і я трохи переробив код.

    Цей код заснований на старій версії основного коду.

    ❮ Плагін Kama Quicktags: код на сторінках вашого сайту. Як я вирішив цю проблему

    Корисний хак для WordPress, якщо сайт допрацьовується на локалке ❯

    Привіт, хто може допомогти, проблема в пагінацію, page / 1 /. page / 2 / і т.д.
    яку б цифри в кінці не поставиш все рівно відкривається сторінка, в чому може бути проблема?