Вернуться   Форум об интернет-маркетинге > >
Ответ
 
Опции темы
Старый 04.12.2018, 02:33   #1
Академик
 
Регистрация: 24.09.2016
Сообщений: 2,054
Репутация: 134553

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

Всем привет!

Возникла задача сделать на некоторых страницах алфавитный указатель. Если точнее будет три категории, в каждой по 100-150 страниц. Есть идея под каждую категорию создать отдельную страницу и туда вывести перечень имеющихся статей по теме.

Выглядеть список должен примерно как на картинке.

Название: vivod-tegov-tovara-woocommerce-v-alfavitnom-poryadke.jpg
Просмотров: 257

Размер: 20.8 Кб

Насколько понимаю, задача несложная и решаемая, но я реально чего-то туплю, даже с поисковиком сегодня договориться не могу. Все варианты, которые нашел только на главной сортируют по алфавиту.
__________________
Накрутка живой активности в Инстаграм. С гарантией!
https://copywriting-tarasov.ru/
Бесплатный аудит РК в Яндекс.Директе
Тарасов Роман на форуме   Ответить с цитированием

Реклама
Старый 04.12.2018, 11:05   #2
SeVlad
Guru-Editor
 
Регистрация: 03.11.2008
Адрес: Donbass
Сообщений: 18,080
Репутация: 1497286

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

Цитата:
Сообщение от Тарасов Роман Посмотреть сообщение
Есть идея под каждую категорию создать отдельную страницу и туда вывести перечень имеющихся статей по теме.
Во первых никаких отдельных страниц. Страница рубрики (категории) - она виртуальная, сама появится. //Это если будешь делать именно рубриками//

Во вторых для "алфавита" можно использовать
а) метки или свою аналогичную таксономию
б) произвольные поля
в) готовые плагины (они как правило используют а и/или б)
__________________
Делаю хорошие сайты хорошим людям. Предпочтение коммерческим направлениям.
Топики помощи с ⓌordPress и основы безопасности сайтов.
*** Помощь\консультации в топиках форума - БЕСПЛАТНО. Через личку - с бюджетом от 150$ ***
SeVlad вне форума   Ответить с цитированием
Сказали спасибо:
Старый 04.12.2018, 11:12   #3
zonar
Лев Толстой
 
Аватар для zonar
 
Регистрация: 24.05.2009
Адрес: ссср
Сообщений: 984
Репутация: -14280

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

Если уж хотите извращаться так то сделайте просто карту сайта для людей и все
zonar вне форума   Ответить с цитированием
Сказали спасибо:
Старый 04.12.2018, 11:56   #4
Тарасов Роман
Академик
 
Регистрация: 24.09.2016
Сообщений: 2,054
Репутация: 134553

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

Цитата:
Сообщение от SeVlad Посмотреть сообщение
Во первых никаких отдельных страниц. Страница рубрики (категории) - она виртуальная, сама появится. //Это если будешь делать именно рубриками//

Во вторых для "алфавита" можно использовать
а) метки или свою аналогичную таксономию
б) произвольные поля
в) готовые плагины (они как правило используют а и/или б)
Спасибо. Буду дальше копать. Пока нашел два способа, но один не работает почему-то, там описание сильно запутанное, наверное, где-то ошибся, другой немного не то выдает.

Надо копать дальше.

---------- Добавлено 04.12.2018 в 12:58 ----------

Цитата:
Сообщение от zonar Посмотреть сообщение
Если уж хотите извращаться так то сделайте просто карту сайта для людей и все
Так там для людей и делается. Чтобы могли быстро найти описание в списке. В карте сайта копаться муторно, там получается всего около 500 записей, и это только на стартовом этапе, дальше предполагается довести до 2000-3000 записей. Замучаешься листать такую карту
Тарасов Роман на форуме   Ответить с цитированием
Старый 04.12.2018, 22:23   #5
Gerga
Профессор
 
Аватар для Gerga
 
Регистрация: 02.08.2015
Адрес: Одесса
Сообщений: 674
Репутация: 97920
Отправить сообщение для Gerga с помощью ICQ Отправить сообщение для Gerga с помощью Skype™

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

Тарасов Роман, смотрите как можно сделать. Создаете массив с буквами алфавита:
Код:
$lib = [
    'A' => '',
    'B' => '',
    'C' => '',
    'W' => '',
    '...' => '',
    'А' => '',
    'Б' => '',
    'В' => '',
];
затем получите все записи нужной категории и пройдитесь по этим записям сохрания запись в $lib нужной буквы:
Код:
$posts = get_posts([
    'category' => 1,
    'numberposts' => 999,
]);

foreach ($posts as $post) {
    $letter = strtoupper(mb_substr($post->post_title, 0, 1));
        
    if (isset($lib[$letter])) {
        $lib[$letter] .= '<li><a href="' . get_permalink($post->ID) . '">' . $post->post_title . '</a>';
    }        
}
теперь можно выводить алфавитный указатель:
Код:
$out = '';

foreach ($lib as $key => $value) {
    if (!$value) {
        continue;
    }
                
    $out .= '
    <div class="wrapper-letter">
        <span class="letter">' . $key . '</span>
        <ul>' . $value . '</ul>
    </div>            
    ';
        
}

echo $out;
Если все это дело, для многоразового использования, оформить в функцию, будет так выглядеть:
Код:
/**
 * Функция возвращает алфавитный указатель указанной категории
 * @param int $cat - id категори 
**/

function get_category_alphabet(int $cat = 1) {
    $lib = [
        'A' => '',
        'B' => '',
        'C' => '',
        'W' => '',
        '...' => '',
        'А' => '',
        'Б' => '',
        'В' => '',
    ];
    
    $posts = get_posts([
        'category' => $cat,
        'numberposts' => 999,
    ]);   
    
    foreach ($posts as $post) {
        $letter = strtoupper(mb_substr($post->post_title, 0, 1));
        
        if (isset($lib[$letter])) {
            $lib[$letter] .= '<li><a href="' . get_permalink($post->ID) . '">' . $post->post_title . '</a>';
        }        
    }    
    
    $out = '';
    
    foreach ($lib as $letter => $value) {
        if (!$value) {
            continue;
        }
                
        $out .= '
        <div class="wrapper-letter">
            <span class="letter">' . $letter . '</span>
            <ul>' . $value . '</ul>
        </div>            
        ';        
    }

    return $out;     
}

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

Последний раз редактировалось Gerga; 04.12.2018 в 23:08..
Gerga вне форума   Ответить с цитированием
Сказали спасибо:
Старый 05.12.2018, 00:32   #6
Тарасов Роман
Академик
 
Регистрация: 24.09.2016
Сообщений: 2,054
Репутация: 134553

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

Цитата:
Сообщение от Gerga Посмотреть сообщение
Тарасов Роман, смотрите как можно сделать. Создаете массив с буквами алфавита:
Код:

затем получите все записи нужной категории и пройдитесь по этим записям сохрания запись в $lib нужной буквы:
Код:

теперь можно выводить алфавитный указатель:
Код:

Если все это дело, для многоразового использования, оформить в функцию, будет так выглядеть:
Код:

Спасибо! Так тоже попробую. Думаю должно быть лучше, чем с плагином, хотя протестирую и плагин, и код.
Тарасов Роман на форуме   Ответить с цитированием
Старый 05.12.2018, 16:07   #7
Sitealert
Слесарь-сайтосборщик
 
Регистрация: 30.09.2016
Адрес: Замкадье
Сообщений: 5,082
Репутация: 348366

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

Цитата:
Сообщение от Gerga Посмотреть сообщение
Код:
$letter = strtoupper(mb_substr($post->post_title, 0, 1));
Так мы получим выборку по названиям записей. Но судя по стартпосту, требуется выборка по тегам. А это всё же через допполя надо делать.
__________________
Отпилю лишнее, прикручу нужное, выправлю кривое.
Вытравлю вредителей.
Sitealert вне форума   Ответить с цитированием
Старый 05.12.2018, 16:33   #8
Gerga
Профессор
 
Аватар для Gerga
 
Регистрация: 02.08.2015
Адрес: Одесса
Сообщений: 674
Репутация: 97920
Отправить сообщение для Gerga с помощью ICQ Отправить сообщение для Gerga с помощью Skype™

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

Цитата:
Сообщение от Sitealert Посмотреть сообщение
Так мы получим выборку по названиям записей.
да, я думаю именно это и нужно ТСу. Например нужно вывести записи из категории "Справочник запчастей" и сгруппировать эти записи по первой букве из названия как на скрине. Но на скрине показана группировка категорий, нам же нужно сгруппировать записи.

Цитата:
Сообщение от Тарасов Роман Посмотреть сообщение
Думаю должно быть лучше, чем с плагином
Если я вас правильно понял, будет лучше.
Gerga вне форума   Ответить с цитированием
Старый 05.12.2018, 16:37   #9
SeVlad
Guru-Editor
 
Регистрация: 03.11.2008
Адрес: Donbass
Сообщений: 18,080
Репутация: 1497286

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

Цитата:
Сообщение от Gerga Посмотреть сообщение
да, я думаю именно это и нужно ТСу.
Если это нужно то произвольные поля или таксономия будет куда логичнее и проще.

Но я помню что ты любишь кодить
SeVlad вне форума   Ответить с цитированием
Старый 05.12.2018, 16:43   #10
Gerga
Профессор
 
Аватар для Gerga
 
Регистрация: 02.08.2015
Адрес: Одесса
Сообщений: 674
Репутация: 97920
Отправить сообщение для Gerga с помощью ICQ Отправить сообщение для Gerga с помощью Skype™

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

Цитата:
Сообщение от SeVlad Посмотреть сообщение
Если это нужно то произвольные поля или таксономия будет куда логичнее и проще.
так для каждой записи нужно ставить букву, а это уже сделано. Меньше движения получится.

---------- Добавлено 05.12.2018 в 16:49 ----------

Еще плюс в первом подходе в том, что если статьи добавлены пропадает необходимость в их редактировании для установки нужной буквы. Опять экономия на движении.
Gerga вне форума   Ответить с цитированием
Ответ

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



Опции темы

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


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