wp_list_pages и preg_replace

Здравствуйте! Я совсем новичок в этом деле. У меня возник вопрос, прошу помочь форумчан.

В общем мне нужно изменить вывод wp_list_pages. Как известно, он выводит свои классы <li class page_item page-item-* > и <li class current_page_item>. Так вот я хочу здесь удалить все page_item’ы и вместо current_page_item вставить просто current. Для этого использую следующий код, но он не работает (просто ничего не выводит, кроме ссылки на главную):

<?php
    echo '<ul class="menu">';
    echo '  <li><a href="' . get_option('home') . '">Главная</a></li>';
    $patterns = array();
    $patterns[0] = '/\<li class="page_item[^>]*>/';
    $patterns[1] = 'current_page_item';
    $replacements = array();
    $replacements[0] = '<li>';
    $replacements[1] = 'current';
    $list_pages = wp_list_pages('title_li=&depth=1&echo=0');
    $list_pages = preg_replace($patterns, $replacements, $list_pages);
    echo $list_pages;
    echo '</ul>';
    ?>

Что я не так делаю?

Здравствуйте! Я совсем новичок в этом деле. У меня возник вопрос, прошу помочь форумчан.

В общем мне нужно изменить вывод wp_list_pages. Как известно, он выводит свои классы <li class page_item page-item-* > и <li class current_page_item>. Так вот я хочу здесь удалить все page_item'ы и вместо  current_page_item вставить просто current. Для этого использую следующий код, но он не работает (просто ничего не выводит, кроме ссылки на главную):

    
<?php
    echo '<ul class="menu">';
    echo '  <li><a href="' . get_option('home') . '">Главная</a></li>';
    $patterns = array();
    $patterns[0] = '/\<li class="page_item[^>]*>/';
    $patterns[1] = 'current_page_item';
    $replacements = array();
    $replacements[0] = '<li>';
    $replacements[1] = 'current';
    $list_pages = wp_list_pages('title_li=&depth=1&echo=0');
    $list_pages = preg_replace($patterns, $replacements, $list_pages);
    echo $list_pages;
    echo '</ul>';
    ?>

Что я не так делаю?

Фигнёй страдаете.
Можно услышать чем вам имеющийся класс не угодил?

Фигнёй страдаете.
Можно услышать чем вам имеющийся класс не угодил?

Хочу заюзать скрипт superfish.js для темы. так как css я вообще плохо знаю, решил просто обработать вывод wp-ist-pages. (просто верстаю под wordpress один html шаблон)

Лучше начните с Css.

Лучше начните с Css.

Прошу помочь, если несложно, вот код css:
[code- .sf-menu {padding-left:15px;}
.sf-menu ul {position:absolute; top:-999px; display:none;}
.sf-menu li {position:relative; float:left;}
.sf-menu a {display:block;}
.sf-menu li:hover ul,.sf-menu li.sfHover ul {z-index:99}
ul.sf-menu li:hover li ul,ul.sf-menu li.sfHover li ul {top:-999px;}
ul.sf-menu {margin:0;}

ul.sf-menu>li { line-height:20px; display:inline-block; text-align:center; background:url(../images/transp.png) 0 0 repeat; border:transparent 1px solid; border-radius:5px; margin-right:24px; width:85px;}
ul.sf-menu>li>a { font-family: Arial, Helvetica, sans-serif; font-weight:normal; color:#7b7b7b; font-size:15px; line-height:20px; padding:4px 5px 5px 5px; display:block; }
ul.sf-menu>li.current, ul.sf-menu>li.sfHover, ul.sf-menu>li:hover {background:url(../images/li-1.jpg) 0 0 repeat-x #f3f3f3; border:#c9c9c9 1px solid; }
ul.sf-menu>li.current>a, ul.sf-menu>li.sfHover>a, ul.sf-menu>li>a:hover {}

ul.sf-menu>li.sfHover>a.sf-with-ul>span.sf-sub-indicator {}
ul.sf-menu>li.sfHover>a.sf-with-ul>span.sf-sub-indicator, ul.sf-menu>li.current>a.sf-with-ul>span.sf-sub-indicator {}

ul.sf-menu li>ul {background:#f8f8f8; border:#d0d0d0 1px solid; width:125px; padding:11px 0px 16px 0px; top:31px; left:-1px; border-radius:5px; box-shadow: 1px 1px 3px #e9e9e9;}
ul.sf-menu li>ul>li {width:125px;}
ul.sf-menu li>ul>li>a { padding:3px 12px 3px 23px; text-align:left; font-family:Arial, Helvetica, sans-serif; color:#7b7b7b; font-size:13px; line-height:18px; font-weight:normal; display:block; }
ul.sf-menu li>ul>li:hover, ul.sf-menu li.sfHover ul>li.sfHover{}
ul.sf-menu li.sfHover>ul>li:hover>a, ul.sf-menu li.sfHover ul li.sfHover a {color:#6dbbbe;}[/code]
Сам скрипт:

/*
 * Superfish v1.4.8 - jQuery menu widget
 * Copyright (c) 2008 Joel Birch
 *
 * Dual licensed under the MIT and GPL licenses:
 *     http://www.opensource.org/licenses/mit-license.php
 *     http://www.gnu.org/licenses/gpl.html
 *
 * CHANGELOG: http://users.tpg.com.au/j_birch/plugins/superfish/changelog.txt
 */

;(function($){
    $.fn.superfish = function(op){

        var sf = $.fn.superfish,
            c = sf.c,
            $arrow = $(['<span class="',c.arrowClass,'"></span>'].join('')),
            over = function(){
                var $$ = $(this), menu = getMenu($$);
                clearTimeout(menu.sfTimer);
                $$.showSuperfishUl().siblings().hideSuperfishUl();
            },
            out = function(){
                var $$ = $(this), menu = getMenu($$), o = sf.op;
                clearTimeout(menu.sfTimer);
                menu.sfTimer=setTimeout(function(){
                    o.retainPath=($.inArray($$[0],o.$path)>-1);
                    $$.hideSuperfishUl();
                    if (o.$path.length && $$.parents(['li.',o.hoverClass].join('')).length<1){over.call(o.$path);}
                },o.delay);    
            },
            getMenu = function($menu){
                var menu = $menu.parents(['ul.',c.menuClass,':first'].join(''))[0];
                sf.op = sf.o[menu.serial];
                return menu;
            },
            addArrow = function($a){ $a.addClass(c.anchorClass).append($arrow.clone()); };
            
        return this.each(function() {
            var s = this.serial = sf.o.length;
            var o = $.extend({},sf.defaults,op);
            o.$path = $('li.'+o.pathClass,this).slice(0,o.pathLevels).each(function(){
                $(this).addClass([o.hoverClass,c.bcClass].join(' '))
                    .filter('li:has(ul)').removeClass(o.pathClass);
            });
            sf.o[s] = sf.op = o;
            
            $('li:has(ul)',this)[($.fn.hoverIntent && !o.disableHI) ? 'hoverIntent' : 'hover'](over,out).each(function() {
                if (o.autoArrows) addArrow( $('>a:first-child',this) );
            })
            .not('.'+c.bcClass)
                .hideSuperfishUl();
            
            var $a = $('a',this);
            $a.each(function(i){
                var $li = $a.eq(i).parents('li');
                $a.eq(i).focus(function(){over.call($li);}).blur(function(){out.call($li);});
            });
            o.onInit.call(this);
            
        }).each(function() {
            var menuClasses = [c.menuClass];
            if (sf.op.dropShadows  && !($.browser.msie && $.browser.version < 7)) menuClasses.push(c.shadowClass);
            $(this).addClass(menuClasses.join(' '));
        });
    };

    var sf = $.fn.superfish;
    sf.o =  
; sf.op = {}; sf.IE7fix = function(){ var o = sf.op; if ($.browser.msie && $.browser.version > 6 && o.dropShadows && o.animation.opacity!=undefined) this.toggleClass(sf.c.shadowClass+'-off'); }; sf.c = { bcClass : 'sf-breadcrumb', menuClass : 'sf-js-enabled', anchorClass : 'sf-with-ul', arrowClass : 'sf-sub-indicator', shadowClass : 'sf-shadow' }; sf.defaults = { hoverClass : 'sfHover', pathClass : 'overideThisToUse', pathLevels : 1, delay : 1200, animation : {height:'show'}, speed : 'normal', autoArrows : true, dropShadows : false, disableHI : false, // true disables hoverIntent detection onInit : function(){}, // callback functions onBeforeShow: function(){}, onShow : function(){}, onHide : function(){} }; $.fn.extend({ hideSuperfishUl : function(){ var o = sf.op, not = (o.retainPath===true) ? o.$path : ''; o.retainPath = false; var $ul = $(['li.',o.hoverClass].join(''),this).add(this).not(not).removeClass(o.hoverClass) .find('>ul').hide().css('visibility','hidden'); o.onHide.call($ul); Cufon.refresh(); return this; }, showSuperfishUl : function(){ var o = sf.op, sh = sf.c.shadowClass+'-off', $ul = this.addClass(o.hoverClass) .find('>ul:hidden').css('visibility','visible'); sf.IE7fix.call($ul); o.onBeforeShow.call($ul); $ul.animate(o.animation,o.speed,function(){ sf.IE7fix.call($ul); o.onShow.call($ul); }); return this; } }); })(jQuery); $(function(){$('.sf-menu').superfish()})
Anonymous
Отправить
Ответ на: