Алфавитный указатель для рубрик.

Подскажите, пожалуйста, существует ли нормальное решение для создания НА СТРАНИЦЕ списка всех категорий в алфавитном порядке, при это подразделения этого списка в виде:

А
ананас
абрикос
альмера

Б
барбадос
баритон
барарара

и собственно сам указатель, перемещающий страницу к выбранной букве "АБВГДЙКЛМНЁПРСТ…"

вот пример, близкий к идеально-необходимому: http://kulinarbook.info/alfavitnyj-ukazatel-receptov

Плагины WP-Snap, M-Snap – мёртвые и не работают
AZ-Index там же (

Может кому-то известны другие, либо способы по реализации (ссылку на репозиторий с запросом glossary просьба не скидывать).

Именно списка категорий? Можно вывести вручную. Примерно так
$l1 = ”;
$categories=get_categories(‘orderby=name&order=ASC’);
foreach($categories as $category) {
$l2 = mb_substr($category->name, 0, 1, ‘utf-8’);
if ($l1 != $l2) {
$l1 = $l2;
echo "<h2>$l1</h2>";
}
echo ‘<h3><a href="’ . get_category_link($category->term_id) . ‘">’ . $category->name . ‘</a></h3>’;
}

"собственно сам указатель" уж как-нибудь сами придумаете, мне кажется.

Ю.Б., спасибо огромное, всё работает!

прошу прощения за назойливость, но остался ещё один вопрос: как модифицировать этот код, чтобы решить ту же самую задачу, но уже не для категорий, а для МЕТОК (tag) ?

http://codex.wordpress.org/Function_Reference/get_tags

        <?php
        
$l1 = '';
$tags=get_tags('orderby=name&order=ASC');
foreach($tags as $tag) { 
  $l2 = mb_substr($tag->name, 0, 1, 'utf-8');
  if ($l1 != $l2) {
    $l1 = $l2;
    echo "<h2>$l1</h2>";
  }
  echo '<h3><a href="' . get_tag_link($tag->term_id) . '">' . $tag->name . '</a></h3>';
}
        
        
        
        ?>

всё ок 🙂

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

<a name=”a”>место где начинается список на букву А</a>
<a name=”b”>место где начинается список на букву Б</a>
<a href=”a”>ссылка перекидывающая на место, где буква А</a>
<a href=”b”>ссылка перекидывающая на место, где буква Б</a>

на данный момент ссылки-теги и ссылки-рубрики работают, а сами буквы-заголовки – нет.

Можно ли сделать, чтобы они тоже стали ссылками(ссылками-якорями) внеся какое-то изменение в код? : [

Пишу только когда гугл и поиск по форуму бессильны. Остался один вопрос ценою в CMS )

Можно ли то же самое

Именно списка категорий? Можно вывести вручную. Примерно так
$l1 = '';
$categories=get_categories('orderby=name&order=ASC');
foreach($categories as $category) { 
  $l2 = mb_substr($category->name, 0, 1, 'utf-8');
  if ($l1 != $l2) {
    $l1 = $l2;
    echo "<h2>$l1</h2>";
  }
  echo '<h3><a href="' . get_category_link($category->term_id) . '">' . $category->name . '</a></h3>';
}

сделать со значениями произвольных полей?

если это возможно, решение вопроса будет для меня очень значимо!)

PS
была идея о превращении значения произвольного поля в Рубрику (каким-то чудом) после сохранения поста, но это по-моему нереализуемо и некорректно…(

Подскажите пожалуйста, как модернизировать этот код..

<ul class="menu_alfavit">
<?php
$l1 = '';
$args = array(  
        'type'                     => 'post'  
         ,'orderby'                  => 'name'
         ,'hide_empty'                => 0
         ,'child_of'                =>6
         ,'order'                    => 'ASC'  );  
$categories = get_categories( $args );  
foreach($categories as $category) { 
  $l2 = mb_substr($category->name, 0, 1, 'utf-8');
  if ($l1 != $l2) {
    $l1 = $l2;
    echo '<li><div onclick="ima()"><a href="#">' . $l1 . '</a></div></li>';
  }
  echo '<div class="test" style="display:none"><a href="' . get_category_link($category->term_id) . '">' . $category->name . '</a></div>';
} ?>
</ul>

<script>
function ima(){
    jQuery(".test").fadeIn(500);
}
</script>

..таким образом, чтобы при нажатии на определенную букву появлялись только те категории, которые к ней относятся. В данном случае при нажатии открываются сразу все категории.

Если кому-то понадобится, получилось сделать так:
<?php
$l1 = ”;
$args = array(
‘type’ => ‘post’
,’orderby’ => ‘name’
,’hide_empty’ => 0
,’child_of’ =>6
,’order’ => ‘ASC’ );
$categories = get_categories( $args );
foreach($categories as $category) {
$l2 = mb_substr($category->name, 0, 1, ‘utf-8’);
if ($l1 != $l2) {
$l1 = $l2;
//echo($l2);
echo ‘<div class="test1" title="’.$l1.’" onclick="ima(this)"><a href="#">’ . $l1 . ‘</a></div>’;
}
echo ‘<div title="’.$l1.’" class="test2" style="display:none"><a href="’ . get_category_link($category->term_id) . ‘">’ . $category->name . ‘</a></div>’;
} ?>

<script>

function ima(litera){
var litera = $(litera).attr(‘title’);
jQuery("[title=’"+ litera +"’]").fadeIn(500);
}

</script>

Пишу только когда гугл и поиск по форуму бессильны. Остался один вопрос ценою в CMS )

Можно ли то же самое 

[quote=Ю.Б.]Именно списка категорий? Можно вывести вручную. Примерно так
$l1 = '';
$categories=get_categories('orderby=name&order=ASC');
foreach($categories as $category) { 
  $l2 = mb_substr($category->name, 0, 1, 'utf-8');
  if ($l1 != $l2) {
    $l1 = $l2;
    echo "<h2>$l1</h2>";
  }
  echo '<h3><a href="' . get_category_link($category->term_id) . '">' . $category->name . '</a></h3>';
}

сделать со значениями произвольных полей?

если это возможно, решение вопроса будет для меня очень значимо!)

PS
была идея о превращении значения произвольного поля в Рубрику (каким-то чудом) после сохранения поста, но это по-моему нереализуемо и некорректно…([/quote]
всё ещё очень актуально) помогите, люди добрые. за денежку или за даром..

Вы всё это время искали чудо-плагин для превращения произвольных полей в таксономии?

Custom Field Taxonomies

Вы всё это время искали чудо-плагин для превращения произвольных полей в таксономии? 
http://wordpress.org/plugins/custom-field-taxonomies/

возможно…

Спасибо за ваш ответ : )

Anonymous
Отправить
Ответ на: