WP - как да променя клас в wp_nav_menu($args);

Fix

New Member
Здравейте,
Бих искал отново малко помощ от експертите по WP. Пиша си собствена тема за WP, но не мога да разбера, как да променя класовете в <li> на wp_nav_menu($args);. Кода ми представлява това:
PHP:
	$args = array(
		'menu' => 'mainnav',
		'container' => false,
		'menu_id' => false,
		'menu_class' => false,
		'echo' => false,
	);
$nav_menu = wp_nav_menu($args);
Когато принтна $nav_menu, получавам:
HTML:
<div class="">
	<ul>
		<li class="page_item page-item-2">
			<a href="http://localhost/wp_tests/?page_id=2">Sample Page</a>
		</li>
		<li class="page_item page-item-8">
			<a href="http://localhost/wp_tests/?page_id=8">Страница две</a>
		</li>
	</ul>
</div>
Мераците ми са да променя тези класове page_item и page-item-2 в li-таговете:
HTML:
<li class="page_item page-item-2">
Примерно на:
HTML:
<li class="custom_class">
Използвам WP 4.1.

Някой има ли си на идея как може да стане елегантно, без да барам файлове на ядрото?
 
От: WP - как да променя клас в wp_nav_menu($args);

Благодаря! Бях тръгнал да пиша екстендс на класа Walker_Nav_Menu. В линка ти ми беше достатъчно да видя preg_replace, трябвaше ми само един ред, за да се оправя. :) Простите неща обикновено са най-добри, така е и в случая.
Хм, какво имаш при принта? И как ти върви констуркура, защото след класа не виждам нещо.
Може би не съм се изразил ясно, принта в смисъл на print или echo:
PHP:
echo $nav_menu;
 
От: Re: WP - как да променя клас в wp_nav_menu($args);

На принт. Ако екстендваш щеше да ти е по-сложно. Я кажи как го сглоби. :)

П.П: Абе, дали имаме нужда от девелопърса секция?
За да не си цапам кода, сложих една функция в functions.php:
PHP:
function nav_custom_class($wp_nav_menu){
	$wp_nav_menu = preg_replace('@page_item page-item-\d+@', 'custom', $wp_nav_menu);
	$wp_nav_menu = preg_replace('@<ul>@', '<ul class="ul_custom">', $wp_nav_menu);
	return $wp_nav_menu;
}
В header.php ми остана:
PHP:
	$nav_menu = nav_custom_class(wp_nav_menu($args));
И сега в която страница искам да принтна менюто, просто си викам едно нагласено според bootstrap или друг CSS-фреймуорк: echo $nav_menu;

Да, има нужда от девелопърска секция. Лично на мен ще ми е по-лесно да питам там.
 
Направих същото преди няколко дни с breadcrumbs в wordpress. Във functions.php и после викаш в хедър. Май всеки си решава проблема така, хахаха. :)

Иначе, ще пуснем анкетка по случая. И ще се попитаме, определено. Много кодинг стана тук. :)
 

Горе