Вкурил, что для вывода категорий в определённом порядке необходимо прописать wp_list_categories('orderby=name&include=4,5,7,1')
но как это всё приминить к своей ситуации не пойму. В файле functions.php у меня по этому поводу написано:
/* horizontal menu */
function art_menu_items()
{
global $artThemeSettings;
if ('Pages' === $artThemeSettings['menu.source'])
{
art_print_homepage();
add_action('get_pages', 'art_menu_get_pages_filter');
add_action('wp_list_pages', 'art_menu_list_pages_filter');
wp_list_pages('title_li=&sort_column=menu_order');
remove_action('wp_list_pages', 'art_menu_list_pages_filter');
remove_action('get_pages', 'art_menu_get_pages_filter');
}
else
{
add_action('get_terms', 'art_menu_get_terms_filter');
add_action('wp_list_categories', 'art_menu_wp_list_categories_filter');
wp_list_categories('title_li=');
remove_action('wp_list_categories', 'art_menu_wp_list_categories_filter');
remove_action('get_terms', 'art_menu_get_terms_filter');
}
}
/* end horizontal menu */
/* horizontal menu filters */
function art_menu_get_pages_filter($pages)
{
global $artThemeSettings;
art_move_frontpage($pages);
$artThemeSettings['menu.blogID'] = art_blogID($pages);
$artThemeSettings['menu.activeID'] = art_active_pageID($pages);
if (!$artThemeSettings['menu.showSubmenus'])
{
art_remove_subpage($pages);
}
$artThemeSettings['menu.topIDs'] = art_top_pageIDs($pages);
return $pages;
}
function art_menu_list_pages_filter($output)
{
global $artThemeSettings;
$pref ='page-item-';
if($artThemeSettings['menu.topIDs'])
{
foreach($artThemeSettings['menu.topIDs'] as $id)
{
$output = preg_replace('~<li class="([^"]*)\b('
. $pref
. $id
. ')\b([^"]*)"><a ([^>]+)>([^<]*)</a>~',
'<li class="$1$2$3"><a $4>'
. $artThemeSettings['menu.topItemBegin']
. '$5'
. $artThemeSettings['menu.topItemEnd']
. '</a>', $output, 1);
}
}
$frontID = null;
$blogID = null;
if('page' == get_option('show_on_front'))
{
$frontID = get_option('page_on_front');
$blogID = $artThemeSettings['menu.blogID'];
}
if ($frontID)
{
$output = preg_replace('~<li class="([^"]*)\b('
. $pref . $frontID
. ')\b([^"]*)"><a href="([^"]*)" ~',
'<li class="$1$2$3"><a href="'
. get_option('home')
.'" ', $output, 1);
}
$activeID = $artThemeSettings['menu.activeID'];
if (is_home() && $blogID)
{
$activeID = $blogID;
}
if ($activeID)
{
$output = preg_replace('~<li class="([^"]*)\b('
.$pref .$activeID. ')\b([^"]*)"><a ~',
'<li class="$1$2$3"><a class="active" ', $output, 1);
}
return $output;
}
function art_menu_get_terms_filter($terms)
{
global $artThemeSettings;
$artThemeSettings['menu.activeID'] = art_active_catID($terms);
if (!$artThemeSettings['menu.showSubmenus'])
{
art_remove_subcat($terms);
}
$artThemeSettings['menu.topIDs'] = art_top_catIDs($terms);
return $terms;
}
function art_menu_wp_list_categories_filter($output)
{
global $artThemeSettings;
$pref ='cat-item-';
if($artThemeSettings['menu.topIDs'])
{
foreach($artThemeSettings['menu.topIDs'] as $id)
{
$output = preg_replace('~<li class="([^"]*)\b('
. $pref . $id
. ')\b([^"]*)"><a ([^>]+)>([^<]*)</a>~',
'<li class="$1$2$3"><a $4>'
. $artThemeSettings['menu.topItemBegin']
. '$5'
. $artThemeSettings['menu.topItemEnd']
. '</a>', $output, 1);
}
}
if($artThemeSettings['menu.activeID'])
{
$output = preg_replace('~<li class="([^"]*)\b('
. $pref . $artThemeSettings['menu.activeID']
.')\b([^"]*)"><a ~',
'<li class="$1$2$3"><a class="active" ',
$output, 1);
}
return $output;
}
/* end horizontal menu filters*/
.
Сообщение отредактировал Чеснок - 9.12.2010, 23:41