PHP kód:
<?php
$args = array(
'orderby' => 'name',
'order' => 'ASC',
'hide_empty' => 0,
'hierarchical' => 1,
'taxonomy' => 'category' );
$kategoriak = get_categories( $args );
$menu = array('a','á','b','c','cs','d','dz','dzs','e','é','f','g','gy','h','i','í','j','k','l','m','n','ny','o','ó','ö','ő','p','q','r','s','sz','t','ty','u','ú','ü','ű','v','w','x','y','z','zs');
foreach( $menu as $betu )
{
$menu[ array_shift( $menu ) ] = array();
}
$abc_1 = array('a','á','b','c','d','e','é','f','g','h','i','í','j','k','l','m','n','o','ó','ö','ő','p','q','r','s','t','u','ú','ü','ű','v','w','x','y','z');
$abc_2 = array('cs','dz','gy','ny','sz','ty','zs');
$abc_3 = array('dzs');
foreach( $kategoriak as $k )
{
$megvan = false;
for( $i = 3; $i >= 1; $i-- )
{
$kezdobetu = mb_substr( mb_strtolower( $k->name ), 0, $i );
$abc = "abc_$i";
foreach( $$abc as $betu )
{
if( $kezdobetu == $betu )
{
$menu[ $betu ][] = $k;
$megvan = true;
break;
}
}
if( $megvan ) break;
}
}
$html_abc_menu = '<ul id="abcmenu">';
foreach( $menu as $betu => $kategoriak )
{
$html_abc_menu .= '<li><a href="#">'. mb_strtoupper( $betu ) .'</a>';
if( !empty( $kategoriak ) )
{
$html_abc_menu .= '<ul>';
foreach( $kategoriak as $k )
{
$html_abc_menu .= '<li><a href="'. get_category_link( $k->term_id ) .'">'. $k->name .'</a></li>';
}
$html_abc_menu .= '</ul>';
}
$html_abc_menu .= '</li>';
}
$html_abc_menu .= '</ul>';
echo $html_abc_menu;
?>
Könyvjelzők