Advertisement
Guest User

Nav Menu Roles modifications

a guest
Aug 13th, 2013
43
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 3.14 KB | None | 0 0
  1.             <?php
  2.  
  3.             /*
  4.              * This is the added section
  5.              */
  6.  
  7.             global $wp_roles;
  8.  
  9.             $display_roles = apply_filters( 'nav_menu_roles', $wp_roles->role_names );
  10.  
  11.             /* Get the roles saved for the post. */
  12.             $roles = get_post_meta( $item->ID, '_nav_menu_role', true );
  13.  
  14.             $checked_roles = is_array( $roles ) ? $roles : false;
  15.  
  16.             $logged_in_out = ! is_array( $roles ) ? $roles : false;
  17.  
  18.             ?>
  19.  
  20.             <input type="hidden" name="nav-menu-role-nonce" value="<?php echo wp_create_nonce( 'nav-menu-nonce-name' ); ?>" />
  21.  
  22.             <div class="field-nav_menu_role nav_menu_logged_in_out description-wide" style="margin: 5px 0;">
  23.                 <span class="description"><?php _e( "Display Mode", 'nav-menu-roles' ); ?></span>
  24.                 <br />
  25.  
  26.                 <div class="logged-input-holder" style="float: left; width: 33.3%;">
  27.                     <input type="radio" name="nav-menu-logged-in-out[<?php echo $item->ID ;?>]" id="nav_menu_logged_out-for-<?php echo $item->ID ;?>" <?php checked( 'out', $logged_in_out ); ?> value="out" />
  28.                     <label for="nav_menu_logged_out-for-<?php echo $item->ID ;?>">
  29.                         <?php _e( 'Logged Out Users', 'nav-menu-roles'); ?>
  30.                     </label>
  31.                 </div>
  32.  
  33.                 <div class="logged-input-holder" style="float: left; width: 33.3%;">
  34.                     <input type="radio" name="nav-menu-logged-in-out[<?php echo $item->ID ;?>]" id="nav_menu_logged_in-for-<?php echo $item->ID ;?>" <?php checked( 'in', $logged_in_out ); ?> value="in" />
  35.                     <label for="nav_menu_logged_in-for-<?php echo $item->ID ;?>">
  36.                         <?php _e( 'Logged In Users', 'nav-menu-roles'); ?>
  37.                     </label>
  38.                 </div>
  39.                
  40.                 <div class="logged-input-holder" style="float: left; width: 33.3%;">
  41.                     <input type="radio" name="nav-menu-logged-in-out[<?php echo $item->ID ;?>]" id="nav_menu_by_role-for-<?php echo $item->ID ;?>" <?php checked( '', $logged_in_out ); ?> value="" />
  42.                     <label for="nav_menu_by_role-for-<?php echo $item->ID ;?>">
  43.                         <?php _e( 'By Role', 'nav-menu-roles'); ?>
  44.                     </label>
  45.                 </div>
  46.             </div>
  47.  
  48.             <div class="field-nav_menu_role nav_menu_role description-wide" style="margin: 5px 0;">
  49.                 <span class="description"><?php _e( "Access Role", 'nav-menu-roles' ); ?></span>
  50.                 <br />
  51.  
  52.                 <?php
  53.  
  54.                 /* Loop through each of the available roles. */
  55.                 foreach ( $display_roles as $role => $name ) {
  56.  
  57.                     /* If the role has been selected, make sure it's checked. */
  58.                     $checked = checked( true, ( is_array( $checked_roles ) && in_array( $role, $checked_roles ) ), false );
  59.                     ?>
  60.  
  61.                     <div class="role-input-holder" style="float: left; width: 33.3%; margin: 2px 0;">
  62.                         <input type="checkbox" name="nav-menu-role[<?php echo $item->ID ;?>][<?php echo $role; ?>]" id="nav_menu_role-<?php echo $role; ?>-for-<?php echo $item->ID ;?>" <?php echo $checked; ?> value="<?php echo $role; ?>" />
  63.                         <label for="nav_menu_role-<?php echo $role; ?>-for-<?php echo $item->ID ;?>">
  64.                             <?php echo esc_html( $name ); ?>
  65.                         </label>
  66.                     </div>
  67.                    
  68.                 <?php } ?>
  69.             </div>
  70.  
  71.             <?php
  72.             /*
  73.              * end added section
  74.              */
  75.             ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement