Ich habe vor kurzem eine Themenfunktion geschrieben, um eine Klasse zu meinen primären Links hinzuzufügen, die hervorragend funktioniert. Ich habe dann einige CSS-Klassen geschrieben, um diese Links mit benutzerdefinierten Hintergrundbildern zu gestalten. Das klappte hervorragend. Jetzt kommt das Problem, dass der Linktext für die primären Links immer noch angezeigt wird. Normalerweise ist dies kein Problem, da ich einfach die in einem mit einem benutzerdefinierten "hide" Klasse wickeln würde. Zum Beispiel:
<span class="hide"><a href="#">Link Text</a></span>
Also meine Frage ist, wie kann ich Schleife durch die primären Links und wrap den Text w / a <span>
wie mein Beispiel? Hier ist mein Thema Funktion, die ich verwendet, um meine Klassen hinzufügen.
function zkc_preprocess_page(&$vars, $hook) {
// Make a shortcut for the primary links variables
$primary_links = $vars['primary_links'];
// Loop thru the menu, adding a new class for CSS selectors
$i = 1;
foreach ($primary_links as $link => $attributes){
// Append the new class to existing classes for each menu item
$class = $attributes['attributes']['class'] . " item-$i";
// Add revised classes back to the primary links temp variable
$primary_links[$link]['$attributes']['class'] = $class;
$i++;
} // end the foreach loop
// reset the variable to contain the new markup
$vars['primary_links'] = $primary_links;
}