У меня есть это PHP код для добавления определенного класса <a>
элемента в WordPress Menų, прежде чем очистить все другие элементы WordPress:str_replace() с 3-мя различным Заменяет
<?php
$menuParameters = array(
'menu' => '40',
'container' => false,
'echo' => false,
'items_wrap' => '%3$s',
'depth' => 0,
);
$menu = strip_tags(wp_nav_menu($menuParameters), '<a>');
$find = array('<a');
$replace = array('<a class="pro-link pro1"');
echo str_replace($find, $replace, $menu);
?>
Этой печать некоторые, как это:
<a class="pro-link pro1" href="link1">Link1</a>
<a class="pro-link pro1" href="link2">Link2</a>
<a class="pro-link pro1" href="link3">Link3</a>
проблема заключается в том, что мне нужно поставить 3 различных классов (Pro1, Pro2 и PRO3), и печать, как это:
<a class="pro-link pro1" href="link1">Link1</a>
<a class="pro-link pro2" href="link2">Link2</a>
<a class="pro-link pro3" href="link3">Link3</a>
Как я могу это сделать? Мне нужно повторить?
Благодарим за помощь! :)
UPDATE:
Это работает, но первый пункт печати только "за", а следующий "Pro1", "Pro2". Я попытался изменить значение $ replacecounter, но он не работает. Мне нужно просто решить это и будет работать идеально.
<?php
$menuParameters = array(
'menu' => '40',
'container' => false,
'echo' => false,
'items_wrap' => '%3$s',
'depth' => 0,
);
$replacecounter = 1;
$menu = strip_tags(wp_nav_menu($menuParameters), '<a>');
echo preg_replace_callback('/<a/', 'replaceCounter', $menu);
function replaceCounter() {
global $replacecounter;
$str="pro-link pro". $replacecounter++;
return "<a class='$str'";
}
?>
Есть ли цикл? –
петли приходят на помощь –
Вы можете поместить его в цикл и сделать 1 в качестве переменной. Для каждой итерации добавляется 1. – Michael