2016-11-23 8 views
0

達成したいのは何ですか?PHP:1つではなくクラスとIDをすべて削除する

すべてのクラスとIDをリスト要素から削除します。 1つの特別なクラスが残るはずです。

私のアプローチ

$メニューは、Li-要素が格納されている場所です。それは文字列です。私は応答メニューを書いた

背景(id|class)="[^"]+"#'

、そして:私は、私はここにどこかに注入できる例外のいくつかの種類があるかなり確信している $menu = preg_replace('#\s(id|class)="[^"]+"#', '', $menu); を使用して、すべてのクラスとIDを削除します私はトレーニングの一環としてWordPressプロジェクトに挿入したいと思っています。私はクラスとIDを削除したいので、あらかじめ設定されたスタイルはメニューデザインを壊しません。とにかく、アクティブなメニュー項目を知るには、wordpressによって生成された.current-menu-itemクラスが必要です。

答えて

0

nav_menu_css_classフィルタをご覧ください。

add_filter('nav_menu_css_class', 'my_remove_nav_classes'); 
function my_remove_nav_classes($classes, $item, $args, $depth) { 
    return []; 
} 

これをfunction.phpまたはプラグインファイルに配置すると、そのトリックを行う必要があります。

関連する問題