1

Wordpress でメンバーシップ Web サイトを構築しており、ログインしているユーザーに別のナビゲーション メニューを表示したいと考えています。

メニューを表示する現在の 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 でそれを機能させる方法がわかりません。

これは少し混乱するかもしれませんが、助けていただければ幸いです。ありがとう!

PS これはプラグインのサイトからのチュートリアルです。私はそれをフォローしてきましたが、どうにかしてスーパーフィッシュをそこに留めておく必要があります. 私はそれを行う方法がわかりません。

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

4

2 に答える 2

3

はメニューに'menu_class' => 'sf-menu'を追加し 、プラグインはこれを使用してメニューを識別し、プラグインので宣言されているスタイルが適用されますsf-menu class(<ul class="sf-menu">)super fishclasssuper fishcss

<?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' ) );
    }
?>

詳細については、これを参照してください

于 2012-08-06T23:43:13.547 に答える
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' ) );
    }

?>

于 2012-08-06T23:42:37.977 に答える