sfi*_*irc 4 php wordpress menu nav custom-data-attribute
我有以下代码:
$nav_menu_args = array('fallback_cb' => '','menu' => 'menu', 'menu_class' => 'menu_class');
$x = wp_nav_menu( apply_filters( 'widget_nav_menu_args', $nav_menu_args, 'menu', $args ) );
$pattern = '#<ul([^>]*)>#i';
$replacement = '<ul$1 data-attr="abc">'; // this is a wrong
echo preg_replace( $pattern, $replacement, $x );
Run Code Online (Sandbox Code Playgroud)
我想一个添加data-attr
到ul
通过改变模式,而无需通过更改Walker_Nav_Menu
.
我想要做的是有一个这样的列表:
<ul class="menu_class" data-attr="abc">
<li><li>
<li>
<ul>
<li></li>
</ul>
<li>
</ul>
Run Code Online (Sandbox Code Playgroud)
但是我也data-attr
喜欢这样的内心.
<ul class="menu_class" data-attr="abc">
<li><li>
<li>
<ul data-attr="abc">
<li></li>
</ul>
<li>
</ul>
Run Code Online (Sandbox Code Playgroud)
我错过了什么?
您可以添加要替换的对象数,因此只需要第一个ul
.
echo preg_replace( $pattern, $replacement, $x, 1 ); // 1 at the end to replace only the first occurence
Run Code Online (Sandbox Code Playgroud)
或者只需更改wp_nav_menu的items_wrap键.
$nav_menu_args = array('fallback_cb' => '','menu' => 'menu', 'items_wrap' => '<ul class="menu_class" data-attr="abc">%3$s</ul>');
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
3391 次 |
最近记录: |