私は最近、うまく機能するプライマリ リンクにクラスを追加するテーマ関数を作成しました。次に、カスタムの背景画像でこれらのリンクのスタイルを設定する CSS クラスをいくつか作成しました。うまくいきました。ここで問題が発生します。プライマリ リンクのリンク テキストは引き続き表示されます。通常、カスタムの「非表示」クラスでラップするだけなので、これは問題ではありません。例えば:
<span class="hide"><a href="#">Link Text</a></span>
だから私の質問は、プライマリリンクをループして、私の例のようにテキストをラップするにはどうすればよい<span>
ですか? これが、クラスを追加するために使用したテーマ関数です。
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;
}