2012-08-06 106 views
1

我正在Wordpress上建立一個會員網站,並希望顯示不同的導航菜單登錄用戶。更改WordPress的PHP顯示不同的菜單登錄用戶

這裏顯示的菜單當前的PHP代碼:

   <?php /* Our navigation menu. */ ?> 
<?php if (isset ($options['admired_remove_superfish']) && ($options['admired_remove_superfish']!="")) 
        wp_nav_menu(array('container_class' => 'menu-header', 'theme_location' => 'primary')); 
       else 
        wp_nav_menu(array('container_class' => 'menu-header', 'theme_location' => 'primary', 'menu_class' => 'sf-menu','fallback_cb' => 'admired_page_menu' ));?> 

下面是需要更換的代碼PHP代碼:

<?php 
    if (wp_emember_is_member_logged_in()) { 
    wp_nav_menu(array('menu' => 'logged-in-members')); 
    } else { 
    wp_nav_menu(array('menu' => 'normal-visitor-menu')); 
    } 
?> 

如果我只是取代舊的代碼,用它會工作的新代碼,但格式化是關閉的。我需要當前代碼中的Superfish部分,但我不確定如何使它在PHP中工作。

我知道這可能有點令人困惑,但我會很感激任何幫助。謝謝!

P.S.這是來自插件網站的教程。我一直在關注它,但我不知何故需要讓Superfish留在那裏。我確定不知道該怎麼做。

http://www.tipsandtricks-hq.com/wordpress-membership/show-different-navigation-menu-to-your-members-and-non-members-551

回答

3

'menu_class' => 'sf-menu'將添加sf-menu class的菜單(<ul class="sf-menu">)super fish插件將使用此class識別菜單和風格將被應用已在super fish插件的css

0123被宣佈
<?php 
    if (wp_emember_is_member_logged_in()) { 
     wp_nav_menu(array('menu' => 'logged-in-members', 'menu_class' => 'sf-menu')); 
    } else { 
     wp_nav_menu(array('menu' => 'normal-visitor-menu', 'menu_class' => 'sf-menu')); 
    } 
?> 

欲瞭解更多see this

+1

完美!非常感謝!我不知道爲什麼我沒看到 – emagdnim 2012-08-07 00:24:16

+0

不客氣:-) – 2012-08-07 00:26:16

0

考慮上面的代碼,即改變的唯一事情是菜單的實際位置。的(現有的)代碼表明您想那是在,你有一個硬編碼的菜單中,您要使用'theme_location' => 'primary'菜單,你與'menu' => 'loggged-in-members'完成的結果將是選擇它...

<?php 
    if (wp_emember_is_member_logged_in()) { 
     wp_nav_menu( 
      array( 
       'container_class' => 'menu-header', 
       'menu' => 'logged-in-members', 
       'menu_class' => 'sf-menu', 
       'fallback_cb' => 'admired_page_menu' 
      ) 
     ); 
    } else { 
     wp_nav_menu(array('menu' => 'normal-visitor-menu')); 
    } 

?>

相關問題