Вернуться   Форум об интернет-маркетинге > >
Ответ
 
Опции темы
Старый 05.12.2018, 16:59   #11
SeVlad
Guru-Editor
 
Регистрация: 03.11.2008
Адрес: Donbass
Сообщений: 18,105
Репутация: 1500787

По умолчанию Re: Алфавитный указатель на вордпресс

Цитата:
Сообщение от Gerga Посмотреть сообщение
Меньше движения получится.
Ну тут согласен.
Однако это не делается так часто чтобы было напряжно. Да и вообще можно написать хук на save_post чтобы присваивал таксономию/ПП (ИМХО куда элегантней и безопаснее. А обновить посты можно и массово).

А в твоём решении не всё однозначно с нагрузкой.
__________________
Делаю хорошие сайты хорошим людям. Предпочтение коммерческим направлениям.
Топики помощи с ⓌordPress и основы безопасности сайтов.
*** Помощь\консультации в топиках форума - БЕСПЛАТНО. Через личку - с бюджетом от 150$ ***
SeVlad вне форума   Ответить с цитированием

Реклама
Старый 05.12.2018, 17:18   #12
Gerga
Профессор
 
Аватар для Gerga
 
Регистрация: 02.08.2015
Адрес: Одесса
Сообщений: 680
Репутация: 97920
Отправить сообщение для Gerga с помощью ICQ Отправить сообщение для Gerga с помощью Skype™

По умолчанию Re: Алфавитный указатель на вордпресс

Цитата:
Сообщение от SeVlad Посмотреть сообщение
ИМХО куда элегантней и безопаснее
да, так и есть С таксономией/ПП распределение не скрыто от администратора, возможно именно это и нужно. Даже если хуком save_post ставить терм/произвольное значение, все равно админу нагляднее будет.

Цитата:
Сообщение от SeVlad Посмотреть сообщение
А в твоём решении не всё однозначно с нагрузкой.
Да, в моем решении группировка постоянно выполняется, в твоем решении только 1 раз будет установлен терм или произвольное значение. Это лучше.

---------- Добавлено 05.12.2018 в 17:24 ----------

Цитата:
Сообщение от SeVlad Посмотреть сообщение
А обновить посты можно и массово).
Да, я это понимаю, но нужно соответствующее решение. Найти плагин который по первой букве из названия распределит записи или нанять программиста, чтобы он это сделал.
Gerga вне форума   Ответить с цитированием
Старый 05.12.2018, 22:39   #13
Тарасов Роман
Академик
 
Регистрация: 24.09.2016
Сообщений: 2,061
Репутация: 136461

ТопикСтартер Re: Алфавитный указатель на вордпресс

Цитата:
Сообщение от Gerga Посмотреть сообщение

Если я вас правильно понял, будет лучше.
Попробовал на локалке, получилось как надо. Теперь буду это же все на рабочий сайт переносить.

Спасибо за подсказку.
__________________
Как копирайтеру хорошо зарабатывать
https://copywriting-tarasov.ru/
Бесплатный аудит РК в Яндекс.Директе
Тарасов Роман вне форума   Ответить с цитированием
Сказали спасибо:
Старый 06.12.2018, 09:57   #14
Gerga
Профессор
 
Аватар для Gerga
 
Регистрация: 02.08.2015
Адрес: Одесса
Сообщений: 680
Репутация: 97920
Отправить сообщение для Gerga с помощью ICQ Отправить сообщение для Gerga с помощью Skype™

По умолчанию Re: Алфавитный указатель на вордпресс

Тарасов Роман, функцию можно немного оптимизировать, избавиться от $lib массива и связанных с ним действий. Не обязательно держать все буквы алфавитов, можно выводить нужною букву только при необходимости.
Код:
/**
 * Функция возвращает алфавитный указатель указанной категории
 * @version 2.0
 * @param int $cat - id категори 
**/
function get_category_alphabet(int $cat = 1) {    
    $posts = get_posts([
        'orderby' => 'title',
        'order' => 'ASC',
        'category' => $cat,
        'numberposts' => 999,
    ]); 
    
    $prev_letter = $out = '';  
    
    foreach ($posts as $post) {
        if (!$post->post_title) {
            continue;
        }
        
        $letter = mb_strtoupper(mb_substr($post->post_title, 0, 1));
        
        if ($letter != $prev_letter) {
            $out .= '<li><span class="letter">' . $letter . '</span>';
            $prev_letter = $letter;
        }
        
        $out .= '<a href="' . get_permalink($post->ID) . '">' . $post->post_title . '</a>';                           
    } 
    
    return '<ul class="alphabet">' . $out . '</ul>';    
}

echo get_category_alphabet(1); // тут вместо 1 указываете id нужной категории


---------- Добавлено 06.12.2018 в 09:59 ----------

Без учета комментов, размер функции почти в 2 раза уменьшился. Избавились от массива $lib, теперь не нужно вводить в программу все буквы, и от 1 цикла.
Gerga вне форума   Ответить с цитированием
Сказали спасибо:
Ответ

Метки
алфавитный указатель , вордпресс



Опции темы

Быстрый переход


Регистрация Справка Календарь Поддержка Все разделы прочитаны