0

我从 wordpress 模板开始,按照教程,我知道 html & css 但不知道 php :(

我想在以下代码中更改class="menu"class="nav navbar-nav"(因为是 twitter bootstrap neccesary 类):

<ul id="menu-menu-principal" class="menu">
<li class="active">
<a href="http://localhost/?page_id=12">Quiénes somos</a>
</li>
</ul>

我能怎么做?在 functions.php 中?如何?我可以使用以下代码更改 li 类,但不能使用 class="menu":

    add_filter('nav_menu_css_class', 'my_css_attributes_filter', 100, 1);
    add_filter('nav_menu_item_id', 'my_css_attributes_filter', 100, 1);
        function my_css_attributes_filter($var) {
            if(is_array($var)){
                $varci= array_intersect($var, array('current-menu-item'));
                $cmeni = array('current-menu-item');
                $selava   = array('active');
                $selavaend = array();
                $selavaend = str_replace($cmeni, $selava, $varci);
            }
            else{
                $selavaend= '';
            }
        return $selavaend;
        }
4

1 回答 1

1

带助行器类 http://wpti.ps/functions/extending-wordpress-walker-class/ http://resources.mdbitz.com/2010/08/creating-a-wordpress-custom-page-walker/

Walker 在 wp_list_pages 上呈现 HTML。它使用 5 个函数:walk、start_lvl、end_lvl、start_el 和 end_el。

walk,基本上开始了制作无序列表和里面的列表项所需的输出。

当元素是前一个元素的子元素并且每个元素的输出以 start_el 开头时调用 start_lvl

正如您在 wp-includes/classes.php 的源代码中看到的那样,start_lvl 通常输出无序列表的开头并给它类 'children' 和 end_lvl 关闭无序列表 在这两个 start_el 和 end_el 中打开和关闭列表项并输出显示标题、指向它的链接等所需的所有 html。

或者

walk 这个函数遍历元素数组并为每个元素调用必要的 start/end_lvl 和 start/end_el 函数。基本逻辑如下: 如果元素是前一个元素的子元素,则调用 start_lvl。对于每个元素调用 start_el 后跟 end_el。如果元素不再是子元素,则调用 end_lvl。

start_lvl 将包含子元素的 HTML 元素开始标记连接到输出。end_lvl 将包含子元素的 HTML 元素结束标记连接到输出。start_el 将对象的 HTML 表示减去结束 HTML 标记连接到输出。end_el 连接对象的 HTML 结束标记元素。到输出。

于 2013-08-06T18:37:05.160 回答