Plugin Directory

Changeset 3492100


Ignore:
Timestamp:
03/26/2026 07:22:34 PM (40 hours ago)
Author:
helgatheviking
Message:

Update to version 2.1.3 from GitHub

Location:
nav-menu-roles
Files:
14 added
2 deleted
14 edited
1 copied

Legend:

Unmodified
Added
Removed
  • nav-menu-roles/tags/2.1.3/inc/class-nav-menu-roles-import.php

    r2844987 r3492100  
    5353         * __construct function.
    5454         *
    55          * @access public
    5655         * @return void
    5756         */
    5857        public function __construct() {
    59             $this->import_page = 'woocommerce_tax_rate_csv';
     58            $this->import_page = 'nav_menu_items';
    6059        }
    6160
  • nav-menu-roles/tags/2.1.3/inc/class-nav-menu-roles.php

    r2844983 r3492100  
    4141    * @since 1.7.0
    4242    */
    43     const VERSION = '2.1.0';
     43    const VERSION = '2.1.3';
    4444
    4545    /**
     
    8080    /**
    8181     * Nav_Menu_Roles Constructor.
    82      * @access public
    8382     * @return Nav_Menu_Roles
    8483     * @since  1.0
     
    101100        // Add FAQ and Donate link to plugin.
    102101        add_filter( 'plugin_row_meta', array( $this, 'add_action_links' ), 10, 2 );
    103 
    104         // Maybe switch the admin walker.
    105         if ( ! self::is_wp_gte( '5.4' ) ) {
    106             add_filter( 'wp_edit_nav_menu_walker', array( $this, 'edit_nav_menu_walker' ) );
    107         }
    108102
    109103        // Add new fields via hook.
     
    132126    /**
    133127     * Include the custom admin walker
    134      *
    135      * @access public
    136      * @return void
    137128     */
    138129    public function admin_init() {
     
    147138     * Register the Importer
    148139     * the regular Importer skips post meta for the menu items
    149      *
    150      * @access private
    151      * @return void
    152140     */
    153141    public function register_importer() {
     
    337325
    338326        // Alpha sort roles by label.
    339         asort( $wp_roles->role_names );
     327        asort( $display_roles );
    340328
    341329        /**
     
    374362        $hidden = 'in' === $logged_in_out ? '' : 'display: none;';
    375363
    376         $float = is_rtl() ? 'float:"right";' : 'float:"left";';
    377 
    378364        ?>
    379365
    380366        <input type="hidden" name="nav-menu-role-nonce" value="<?php echo esc_attr( wp_create_nonce( 'nav-menu-nonce-name' ) ); ?>" />
    381367
    382         <fieldset class="field-nav_menu_role nav_menu_display_mode_field description-wide" style="margin: 5px 0;">
     368        <fieldset class="field-nav_menu_role nav_menu_display_mode_field">
    383369            <legend class="description"><?php esc_html_e( 'Display Mode', 'nav-menu-roles' ); ?></legend>
    384370
    385371            <input type="hidden" class="nav-menu-id" value="<?php echo esc_attr( $item->ID ); ?>" />
    386372
    387             <label for="nav_menu_show-for-<?php echo esc_attr( $item->ID ); ?>" style="<?php echo esc_attr( $float ); ?> width: 35%;">
     373            <label for="nav_menu_show-for-<?php echo esc_attr( $item->ID ); ?>">
    388374                <input type="radio" class="nav-menu-display-mode" name="nav-menu-display-mode[<?php echo esc_attr( $item->ID ); ?>]" id="nav_menu_show-for-<?php echo esc_attr( $item->ID ); ?>" <?php checked( 'show', $display_mode ); ?> value="show" />
    389375                <?php esc_html_e( 'Show', 'nav-menu-roles' ); ?>   
    390376            </label>
    391377       
    392             <label for="nav_menu_hide-for-<?php echo esc_attr( $item->ID ); ?>" style="<?php echo esc_attr( $float ); ?> width: 35%;">
     378            <label for="nav_menu_hide-for-<?php echo esc_attr( $item->ID ); ?>">
    393379                <input type="radio" class="nav-menu-display-mode" name="nav-menu-display-mode[<?php echo esc_attr( $item->ID ); ?>]" id="nav_menu_hide-for-<?php echo esc_attr( $item->ID ); ?>" <?php checked( 'hide', $display_mode ); ?> value="hide" />
    394380                <?php esc_html_e( 'Hide', 'nav-menu-roles' ); ?>           
     
    397383        </fieldset>
    398384
    399         <fieldset class="field-nav_menu_role nav_menu_logged_in_out_field description-wide" style="margin: 5px 0;">
     385        <fieldset class="field-nav_menu_role nav_menu_logged_in_out_field">
    400386            <legend class="description"><?php esc_html_e( 'Target audience', 'nav-menu-roles' ); ?></legend>
    401387
    402388            <input type="hidden" class="nav-menu-id" value="<?php echo esc_attr( $item->ID ); ?>" />
    403389
    404             <label for="nav_menu_logged_in-for-<?php echo esc_attr( $item->ID ); ?>" style="<?php echo esc_attr( $float ); ?> width: 35%;">
     390            <label for="nav_menu_logged_in-for-<?php echo esc_attr( $item->ID ); ?>">
    405391                <input type="radio" class="nav-menu-logged-in-out" name="nav-menu-logged-in-out[<?php echo esc_attr( $item->ID ); ?>]" id="nav_menu_logged_in-for-<?php echo esc_attr( $item->ID ); ?>" <?php checked( 'in', $logged_in_out ); ?> value="in" />
    406392                <?php esc_html_e( 'Logged In Users', 'nav-menu-roles' ); ?>   
    407393            </label>
    408394       
    409             <label for="nav_menu_logged_out-for-<?php echo esc_attr( $item->ID ); ?>" style="<?php echo esc_attr( $float ); ?> width: 35%;">
     395            <label for="nav_menu_logged_out-for-<?php echo esc_attr( $item->ID ); ?>">
    410396                <input type="radio" class="nav-menu-logged-in-out" name="nav-menu-logged-in-out[<?php echo esc_attr( $item->ID ); ?>]" id="nav_menu_logged_out-for-<?php echo esc_attr( $item->ID ); ?>" <?php checked( 'out', $logged_in_out ); ?> value="out" />
    411397                <?php esc_html_e( 'Logged Out Users', 'nav-menu-roles' ); ?>           
    412398            </label>
    413399
    414             <label for="nav_menu_by_role-for-<?php echo esc_attr( $item->ID ); ?>" style="<?php echo esc_attr( $float ); ?> width: 30%;">
     400            <label for="nav_menu_by_role-for-<?php echo esc_attr( $item->ID ); ?>">
    415401                <input type="radio" class="nav-menu-logged-in-out" name="nav-menu-logged-in-out[<?php echo esc_attr( $item->ID ); ?>]" id="nav_menu_by_role-for-<?php echo esc_attr( $item->ID ); ?>" <?php checked( '', $logged_in_out ); ?> value="" />
    416402                <?php esc_html_e( 'Everyone', 'nav-menu-roles' ); ?>
     
    419405        </fieldset>
    420406
    421         <fieldset class="field-nav_menu_role nav_menu_role_field description-wide" style="margin: 5px 0; <?php echo esc_attr( $hidden ); ?>">
     407        <fieldset class="field-nav_menu_role nav_menu_role_field description-wide" style="<?php echo esc_attr( $hidden ); ?>">
    422408            <legend class="description"><?php esc_html_e( 'Target role', 'nav-menu-roles' ); ?></legend>
    423409
     
    433419                ?>
    434420
    435                 <label for="nav_menu_role-<?php echo esc_attr( $role ); ?>-for-<?php echo esc_attr( $item->ID ); ?>" style="display: block; margin: 2px 0;">
     421                <label for="nav_menu_role-<?php echo esc_attr( $role ); ?>-for-<?php echo esc_attr( $item->ID ); ?>">
    436422                    <input type="checkbox" name="nav-menu-role[<?php echo esc_attr( $item->ID ); ?>][<?php echo esc_attr( $i ); ?>]" id="nav_menu_role-<?php echo esc_attr( $role ); ?>-for-<?php echo esc_attr( $item->ID ); ?>" <?php echo esc_attr( $checked ); ?> value="<?php echo esc_attr( $role ); ?>" />
    437423                    <?php echo esc_html( $name ); ?>
     
    454440    public function enqueue_scripts( $hook ) {
    455441        if ( 'nav-menus.php' === $hook ) {
    456             wp_enqueue_script( 'nav-menu-roles', plugins_url( 'dist/nav-menu-roles.js', $this->main_file ), array( 'jquery' ), self::VERSION, true );
     442           
     443            wp_enqueue_script( 'nav-menu-roles', plugins_url( 'assets/js/nav-menu-roles.js', $this->main_file ), array( 'jquery' ), self::VERSION, true );
     444
     445            ?>
     446            <style>
     447
     448                fieldset.field-nav_menu_role { margin: 0 0 1rem 0; }
     449                fieldset.field-nav_menu_role legend { font-weight: bold; margin-bottom: .5rem; }
     450                fieldset.nav_menu_display_mode_field > label,
     451                fieldset.nav_menu_logged_in_out_field > label {
     452                    float: left;
     453                    margin: 0 .5rem 0 0;
     454                }
     455                fieldset.nav_menu_role_field {
     456                    column-count: 2;
     457                }
     458                fieldset.nav_menu_role_field > label {
     459                    display: block;
     460                }
     461                .rtl fieldset.nav_menu_display_mode_field > label,
     462                .rtl fieldset.nav_menu_logged_in_out_field > label {
     463                    float: right;
     464                    margin: 0 0 0 .5rem;
     465                }
     466            </style>
     467            <?php
    457468        }
    458469    }
     
    643654    /**
    644655     * Maybe upgrade
    645      *
    646      * @access public
    647      * @return void
    648656     */
    649657    public function maybe_upgrade() {
     
    659667     * Test WordPress version
    660668     *
    661      * @access public
    662669     * @param  string $version - A WordPress version to compare against current version.
    663670     * @return boolean
  • nav-menu-roles/tags/2.1.3/inc/class-walker-nav-menu-edit-roles-4.7.php

    r2371609 r3492100  
    4040     * Get custom fields
    4141     *
    42      * @access protected
    4342     * @since 0.1.0
    4443     * @uses do_action() Calls 'menu_item_custom_fields' hook
  • nav-menu-roles/tags/2.1.3/inc/customizer.php

    r2684602 r3492100  
    2525
    2626// Workaround for previewing changes.
    27 if ( \Nav_Menu_Roles::is_wp_gte( '4.9' ) ) {
    28     add_action( 'customize_register', __NAMESPACE__ . '\customizer_preview', 1000 );
    29 }
     27add_action( 'customize_register', __NAMESPACE__ . '\customizer_preview', 1000 );
    3028
    3129// Workaround for saving changes.
     
    106104 */
    107105function customizer_scripts() {
    108     $script_dependencies = include plugin_dir_path( __DIR__ ) . '/dist/customize-controls.asset.php';
     106    $script_dependencies = include plugin_dir_path( __DIR__ ) . '/assets/js/customizer/controls.asset.php';
    109107    wp_enqueue_script(
    110108        'customize-nav-menu-roles',
    111         plugins_url( 'dist/customize-controls.js', dirname( __FILE__ ) ),
     109        plugins_url( 'assets/js/customizer/controls.js', dirname( __FILE__ ) ),
    112110        array_merge( array( 'customize-nav-menus' ), $script_dependencies['dependencies'] ),
    113111        $script_dependencies['version'],
  • nav-menu-roles/tags/2.1.3/languages/nav-menu-roles.pot

    r2844987 r3492100  
    1 # Copyright (C) 2023 Kathy Darling
     1# Copyright (C) 2026 Kathy Darling
    22# This file is distributed under the GPL-3.0.
    33msgid ""
    44msgstr ""
    5 "Project-Id-Version: Nav Menu Roles 2.1.2\n"
     5"Project-Id-Version: Nav Menu Roles 2.1.3\n"
    66"Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/nav-menu-roles\n"
    77"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
     
    1010"Content-Type: text/plain; charset=UTF-8\n"
    1111"Content-Transfer-Encoding: 8bit\n"
    12 "POT-Creation-Date: 2023-01-07T20:43:48+00:00\n"
     12"POT-Creation-Date: 2026-03-26T19:21:53+00:00\n"
    1313"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
    14 "X-Generator: WP-CLI 2.7.1\n"
     14"X-Generator: WP-CLI 2.12.0\n"
    1515"X-Domain: nav-menu-roles\n"
    1616
    1717#. Plugin Name of the plugin
    18 #: inc/class-nav-menu-roles.php:161
     18#: nav-menu-roles.php:3
     19#: inc/class-nav-menu-roles.php:149
    1920msgid "Nav Menu Roles"
    2021msgstr ""
    2122
    2223#. Plugin URI of the plugin
     24#: nav-menu-roles.php:4
    2325msgid "http://www.kathyisawesome.com/449/nav-menu-roles/"
    2426msgstr ""
    2527
    2628#. Description of the plugin
     29#: nav-menu-roles.php:5
    2730msgid "Hide custom menu items based on user roles."
    2831msgstr ""
    2932
    3033#. Author of the plugin
     34#: nav-menu-roles.php:7
    3135msgid "Kathy Darling"
    3236msgstr ""
    3337
    3438#. Author URI of the plugin
     39#: nav-menu-roles.php:8
    3540msgid "http://www.kathyisawesome.com"
    3641msgstr ""
    3742
     43#: inc/class-nav-menu-roles-import.php:112
     44#: inc/class-nav-menu-roles-import.php:121
     45#: inc/class-nav-menu-roles-import.php:167
     46#: inc/class-nav-menu-roles-import.php:171
     47#: inc/class-nav-menu-roles-import.php:181
     48msgid "Sorry, there has been an error."
     49msgstr ""
     50
    3851#: inc/class-nav-menu-roles-import.php:113
    39 #: inc/class-nav-menu-roles-import.php:122
    40 #: inc/class-nav-menu-roles-import.php:168
    41 #: inc/class-nav-menu-roles-import.php:172
    42 #: inc/class-nav-menu-roles-import.php:182
    43 msgid "Sorry, there has been an error."
    44 msgstr ""
    45 
    46 #: inc/class-nav-menu-roles-import.php:114
    4752msgid "The file does not exist, please try again."
    4853msgstr ""
    4954
    50 #: inc/class-nav-menu-roles-import.php:153
     55#: inc/class-nav-menu-roles-import.php:152
    5156msgid "All done."
    5257msgstr ""
    5358
    54 #: inc/class-nav-menu-roles-import.php:153
     59#: inc/class-nav-menu-roles-import.php:152
    5560msgid "Have fun!"
    5661msgstr ""
    5762
    5863#. translators: %s is export file name.
    59 #: inc/class-nav-menu-roles-import.php:174
     64#: inc/class-nav-menu-roles-import.php:173
     65#, php-format
    6066msgid "The export file could not be found at %s. It is likely that this was caused by a permissions problem."
    6167msgstr ""
    6268
    6369#. translators: %s is file version number.
    64 #: inc/class-nav-menu-roles-import.php:191
     70#: inc/class-nav-menu-roles-import.php:190
     71#, php-format
    6572msgid "This WXR file (version %s) may not be supported by this version of the importer. Please consider updating."
    6673msgstr ""
    6774
    68 #: inc/class-nav-menu-roles-import.php:259
     75#: inc/class-nav-menu-roles-import.php:258
    6976msgid "Import Nav Menu Roles"
    7077msgstr ""
    7178
    7279#. translators: %s is importer version number.
    73 #: inc/class-nav-menu-roles-import.php:267
     80#: inc/class-nav-menu-roles-import.php:266
     81#, php-format
    7482msgid "A new version of this importer is available. Please update to version %s to ensure compatibility with newer export files."
    7583msgstr ""
    7684
     85#: inc/class-nav-menu-roles-import.php:281
     86msgid "Re-Upload your normal WordPress eXtended RSS (WXR) file and we&#8217;ll import the Nav Menu Roles and any other missing post meta for the Nav Menu items."
     87msgstr ""
     88
    7789#: inc/class-nav-menu-roles-import.php:282
    78 msgid "Re-Upload your normal WordPress eXtended RSS (WXR) file and we&#8217;ll import the Nav Menu Roles and any other missing post meta for the Nav Menu items."
    79 msgstr ""
    80 
    81 #: inc/class-nav-menu-roles-import.php:283
    8290msgid "Choose a WXR (.xml) file to upload, then click Upload file and import."
    8391msgstr ""
     
    9199msgstr ""
    92100
    93 #: inc/class-nav-menu-roles.php:161
     101#: inc/class-nav-menu-roles.php:149
    94102msgid "Import <strong>nav menu roles</strong> and other menu item meta skipped by the default importer"
    95103msgstr ""
    96104
    97 #: inc/class-nav-menu-roles.php:293
     105#: inc/class-nav-menu-roles.php:281
    98106msgid "FAQ"
    99107msgstr ""
    100108
    101 #: inc/class-nav-menu-roles.php:294
     109#: inc/class-nav-menu-roles.php:282
    102110msgid "Donate"
    103111msgstr ""
    104112
    105 #: inc/class-nav-menu-roles.php:383
    106 #: inc/customizer.php:59
     113#: inc/class-nav-menu-roles.php:369
     114#: inc/customizer.php:57
    107115msgid "Display Mode"
    108116msgstr ""
    109117
    110 #: inc/class-nav-menu-roles.php:389
    111 #: inc/customizer.php:63
     118#: inc/class-nav-menu-roles.php:375
     119#: inc/customizer.php:61
    112120msgid "Show"
    113121msgstr ""
    114122
    115 #: inc/class-nav-menu-roles.php:394
    116 #: inc/customizer.php:68
     123#: inc/class-nav-menu-roles.php:380
     124#: inc/customizer.php:66
    117125msgid "Hide"
    118126msgstr ""
    119127
    120 #: inc/class-nav-menu-roles.php:400
     128#: inc/class-nav-menu-roles.php:386
    121129msgid "Target audience"
    122130msgstr ""
    123131
    124 #: inc/class-nav-menu-roles.php:406
    125 #: inc/customizer.php:78
     132#: inc/class-nav-menu-roles.php:392
     133#: inc/customizer.php:76
    126134msgid "Logged In Users"
    127135msgstr ""
    128136
    129 #: inc/class-nav-menu-roles.php:411
    130 #: inc/customizer.php:82
     137#: inc/class-nav-menu-roles.php:397
     138#: inc/customizer.php:80
    131139msgid "Logged Out Users"
    132140msgstr ""
    133141
    134 #: inc/class-nav-menu-roles.php:416
    135 #: inc/customizer.php:86
     142#: inc/class-nav-menu-roles.php:402
     143#: inc/customizer.php:84
    136144msgid "Everyone"
    137145msgstr ""
    138146
    139 #: inc/class-nav-menu-roles.php:422
     147#: inc/class-nav-menu-roles.php:408
    140148msgid "Target role"
    141149msgstr ""
     
    144152#: inc/class-walker-nav-menu-edit-roles-4.5.php:101
    145153#: inc/class-walker-nav-menu-edit-roles.php:109
     154#, php-format
    146155msgid "%s (Invalid)"
    147156msgstr ""
     
    150159#: inc/class-walker-nav-menu-edit-roles-4.5.php:105
    151160#: inc/class-walker-nav-menu-edit-roles.php:113
     161#, php-format
    152162msgid "%s (Pending)"
    153163msgstr ""
     
    239249#: inc/class-walker-nav-menu-edit-roles-4.5.php:229
    240250#: inc/class-walker-nav-menu-edit-roles.php:234
     251#, php-format
    241252msgid "Original: %s"
    242253msgstr ""
     
    257268msgstr ""
    258269
    259 #: inc/customizer.php:74
     270#: inc/customizer.php:72
    260271msgid "Target Audience"
    261272msgstr ""
    262273
    263 #: inc/customizer.php:91
     274#: inc/customizer.php:89
    264275msgid "Target Roles"
    265276msgstr ""
  • nav-menu-roles/tags/2.1.3/nav-menu-roles.php

    r2844987 r3492100  
    44 * Plugin URI: http://www.kathyisawesome.com/449/nav-menu-roles/
    55 * Description: Hide custom menu items based on user roles.
    6  * Version: 2.1.2
     6 * Version: 2.1.3
    77 * Author: Kathy Darling
    88 * Author URI: http://www.kathyisawesome.com
     
    1010 * Text Domain: nav-menu-roles
    1111 *
    12  * Copyright 2020 Kathy Darling
     12 * Copyright 2026 Kathy Darling
    1313 *
    1414 * This program is free software; you can redistribute it and/or modify
  • nav-menu-roles/tags/2.1.3/readme.txt

    r3465898 r3492100  
    22
    33Contributors: helgatheviking
    4 Donate link: https://www.paypal.com/fundraiser/charity/1451316
     4Donate link: https://paypal.me/helgatheviking
    55Tags: menu, menus, nav menu, nav menus
    6 Requires at least: 4.5.0
    7 Tested up to: 6.8.0
    8 Requires PHP: 5.3.2
     6Requires at least: 6.6.0
     7Tested up to: 6.9.0
     8Requires PHP: 7.4
    99Stable tag: 2.1.3
    1010License: GPLv3
    1111
    12 Hide custom menu items based on user roles. PLEASE READ THE FAQ IF YOU ARE NOT SEEING THE SETTINGS.
     12Hide custom menu items based on user roles.
    1313
    1414== Description ==
     
    3232Support is handled in the [WordPress forums](https://wordpress.org/support/plugin/nav-menu-roles). Please note that support is limited and does not cover any custom implementation of the plugin. Before posting, please read the [FAQ](http://wordpress.org/plugins/nav-menu-roles/faq/). Also, please verify the problem with other plugins disabled and while using a default theme.
    3333
    34 Please report any bugs, errors, warnings, code problems to [Github](https://github.com/helgatheviking/nav-menu-roles/issues)
     34Please report any bugs, errors, warnings, code problems to [GitHub](https://github.com/helgatheviking/nav-menu-roles/issues)
    3535
    3636== Installation ==
     
    268268
    269269= 2.1.3 =
     270* Requires: PHP 7.4 and WordPress 6.3
    270271* Fix: RTL layout style.
    271272
     
    331332
    332333= 1.8.1 =
    333 * Switch input names to use a counter [nav-menu-role][100][1]. For some reason [nav-menu-role][100][] doesn't post an array and hypenated names [nav-menu-role][100][gold-plan] wreak havoc on the save routine. Shouldn't impact anyone not using hyphenated role names.
     334* Switch input names to use a counter [nav-menu-role][100][1]. For some reason [nav-menu-role][100][] doesn't post an array and hyphenated names [nav-menu-role][100][gold-plan] wreak havoc on the save routine. Shouldn't impact anyone not using hyphenated role names.
    334335
    335336= 1.8.0 =
     
    363364= 1.7.1 =
    364365* Updated FAQ with patch instructions for conflicting plugins/themes
    365 * add Portugeuse language. props @brunobarros
     366* add Portuguese language. props @brunobarros
    366367
    367368= 1.7.0 =
  • nav-menu-roles/trunk/inc/class-nav-menu-roles-import.php

    r2844987 r3492100  
    5353         * __construct function.
    5454         *
    55          * @access public
    5655         * @return void
    5756         */
    5857        public function __construct() {
    59             $this->import_page = 'woocommerce_tax_rate_csv';
     58            $this->import_page = 'nav_menu_items';
    6059        }
    6160
  • nav-menu-roles/trunk/inc/class-nav-menu-roles.php

    r2844983 r3492100  
    4141    * @since 1.7.0
    4242    */
    43     const VERSION = '2.1.0';
     43    const VERSION = '2.1.3';
    4444
    4545    /**
     
    8080    /**
    8181     * Nav_Menu_Roles Constructor.
    82      * @access public
    8382     * @return Nav_Menu_Roles
    8483     * @since  1.0
     
    101100        // Add FAQ and Donate link to plugin.
    102101        add_filter( 'plugin_row_meta', array( $this, 'add_action_links' ), 10, 2 );
    103 
    104         // Maybe switch the admin walker.
    105         if ( ! self::is_wp_gte( '5.4' ) ) {
    106             add_filter( 'wp_edit_nav_menu_walker', array( $this, 'edit_nav_menu_walker' ) );
    107         }
    108102
    109103        // Add new fields via hook.
     
    132126    /**
    133127     * Include the custom admin walker
    134      *
    135      * @access public
    136      * @return void
    137128     */
    138129    public function admin_init() {
     
    147138     * Register the Importer
    148139     * the regular Importer skips post meta for the menu items
    149      *
    150      * @access private
    151      * @return void
    152140     */
    153141    public function register_importer() {
     
    337325
    338326        // Alpha sort roles by label.
    339         asort( $wp_roles->role_names );
     327        asort( $display_roles );
    340328
    341329        /**
     
    374362        $hidden = 'in' === $logged_in_out ? '' : 'display: none;';
    375363
    376         $float = is_rtl() ? 'float:"right";' : 'float:"left";';
    377 
    378364        ?>
    379365
    380366        <input type="hidden" name="nav-menu-role-nonce" value="<?php echo esc_attr( wp_create_nonce( 'nav-menu-nonce-name' ) ); ?>" />
    381367
    382         <fieldset class="field-nav_menu_role nav_menu_display_mode_field description-wide" style="margin: 5px 0;">
     368        <fieldset class="field-nav_menu_role nav_menu_display_mode_field">
    383369            <legend class="description"><?php esc_html_e( 'Display Mode', 'nav-menu-roles' ); ?></legend>
    384370
    385371            <input type="hidden" class="nav-menu-id" value="<?php echo esc_attr( $item->ID ); ?>" />
    386372
    387             <label for="nav_menu_show-for-<?php echo esc_attr( $item->ID ); ?>" style="<?php echo esc_attr( $float ); ?> width: 35%;">
     373            <label for="nav_menu_show-for-<?php echo esc_attr( $item->ID ); ?>">
    388374                <input type="radio" class="nav-menu-display-mode" name="nav-menu-display-mode[<?php echo esc_attr( $item->ID ); ?>]" id="nav_menu_show-for-<?php echo esc_attr( $item->ID ); ?>" <?php checked( 'show', $display_mode ); ?> value="show" />
    389375                <?php esc_html_e( 'Show', 'nav-menu-roles' ); ?>   
    390376            </label>
    391377       
    392             <label for="nav_menu_hide-for-<?php echo esc_attr( $item->ID ); ?>" style="<?php echo esc_attr( $float ); ?> width: 35%;">
     378            <label for="nav_menu_hide-for-<?php echo esc_attr( $item->ID ); ?>">
    393379                <input type="radio" class="nav-menu-display-mode" name="nav-menu-display-mode[<?php echo esc_attr( $item->ID ); ?>]" id="nav_menu_hide-for-<?php echo esc_attr( $item->ID ); ?>" <?php checked( 'hide', $display_mode ); ?> value="hide" />
    394380                <?php esc_html_e( 'Hide', 'nav-menu-roles' ); ?>           
     
    397383        </fieldset>
    398384
    399         <fieldset class="field-nav_menu_role nav_menu_logged_in_out_field description-wide" style="margin: 5px 0;">
     385        <fieldset class="field-nav_menu_role nav_menu_logged_in_out_field">
    400386            <legend class="description"><?php esc_html_e( 'Target audience', 'nav-menu-roles' ); ?></legend>
    401387
    402388            <input type="hidden" class="nav-menu-id" value="<?php echo esc_attr( $item->ID ); ?>" />
    403389
    404             <label for="nav_menu_logged_in-for-<?php echo esc_attr( $item->ID ); ?>" style="<?php echo esc_attr( $float ); ?> width: 35%;">
     390            <label for="nav_menu_logged_in-for-<?php echo esc_attr( $item->ID ); ?>">
    405391                <input type="radio" class="nav-menu-logged-in-out" name="nav-menu-logged-in-out[<?php echo esc_attr( $item->ID ); ?>]" id="nav_menu_logged_in-for-<?php echo esc_attr( $item->ID ); ?>" <?php checked( 'in', $logged_in_out ); ?> value="in" />
    406392                <?php esc_html_e( 'Logged In Users', 'nav-menu-roles' ); ?>   
    407393            </label>
    408394       
    409             <label for="nav_menu_logged_out-for-<?php echo esc_attr( $item->ID ); ?>" style="<?php echo esc_attr( $float ); ?> width: 35%;">
     395            <label for="nav_menu_logged_out-for-<?php echo esc_attr( $item->ID ); ?>">
    410396                <input type="radio" class="nav-menu-logged-in-out" name="nav-menu-logged-in-out[<?php echo esc_attr( $item->ID ); ?>]" id="nav_menu_logged_out-for-<?php echo esc_attr( $item->ID ); ?>" <?php checked( 'out', $logged_in_out ); ?> value="out" />
    411397                <?php esc_html_e( 'Logged Out Users', 'nav-menu-roles' ); ?>           
    412398            </label>
    413399
    414             <label for="nav_menu_by_role-for-<?php echo esc_attr( $item->ID ); ?>" style="<?php echo esc_attr( $float ); ?> width: 30%;">
     400            <label for="nav_menu_by_role-for-<?php echo esc_attr( $item->ID ); ?>">
    415401                <input type="radio" class="nav-menu-logged-in-out" name="nav-menu-logged-in-out[<?php echo esc_attr( $item->ID ); ?>]" id="nav_menu_by_role-for-<?php echo esc_attr( $item->ID ); ?>" <?php checked( '', $logged_in_out ); ?> value="" />
    416402                <?php esc_html_e( 'Everyone', 'nav-menu-roles' ); ?>
     
    419405        </fieldset>
    420406
    421         <fieldset class="field-nav_menu_role nav_menu_role_field description-wide" style="margin: 5px 0; <?php echo esc_attr( $hidden ); ?>">
     407        <fieldset class="field-nav_menu_role nav_menu_role_field description-wide" style="<?php echo esc_attr( $hidden ); ?>">
    422408            <legend class="description"><?php esc_html_e( 'Target role', 'nav-menu-roles' ); ?></legend>
    423409
     
    433419                ?>
    434420
    435                 <label for="nav_menu_role-<?php echo esc_attr( $role ); ?>-for-<?php echo esc_attr( $item->ID ); ?>" style="display: block; margin: 2px 0;">
     421                <label for="nav_menu_role-<?php echo esc_attr( $role ); ?>-for-<?php echo esc_attr( $item->ID ); ?>">
    436422                    <input type="checkbox" name="nav-menu-role[<?php echo esc_attr( $item->ID ); ?>][<?php echo esc_attr( $i ); ?>]" id="nav_menu_role-<?php echo esc_attr( $role ); ?>-for-<?php echo esc_attr( $item->ID ); ?>" <?php echo esc_attr( $checked ); ?> value="<?php echo esc_attr( $role ); ?>" />
    437423                    <?php echo esc_html( $name ); ?>
     
    454440    public function enqueue_scripts( $hook ) {
    455441        if ( 'nav-menus.php' === $hook ) {
    456             wp_enqueue_script( 'nav-menu-roles', plugins_url( 'dist/nav-menu-roles.js', $this->main_file ), array( 'jquery' ), self::VERSION, true );
     442           
     443            wp_enqueue_script( 'nav-menu-roles', plugins_url( 'assets/js/nav-menu-roles.js', $this->main_file ), array( 'jquery' ), self::VERSION, true );
     444
     445            ?>
     446            <style>
     447
     448                fieldset.field-nav_menu_role { margin: 0 0 1rem 0; }
     449                fieldset.field-nav_menu_role legend { font-weight: bold; margin-bottom: .5rem; }
     450                fieldset.nav_menu_display_mode_field > label,
     451                fieldset.nav_menu_logged_in_out_field > label {
     452                    float: left;
     453                    margin: 0 .5rem 0 0;
     454                }
     455                fieldset.nav_menu_role_field {
     456                    column-count: 2;
     457                }
     458                fieldset.nav_menu_role_field > label {
     459                    display: block;
     460                }
     461                .rtl fieldset.nav_menu_display_mode_field > label,
     462                .rtl fieldset.nav_menu_logged_in_out_field > label {
     463                    float: right;
     464                    margin: 0 0 0 .5rem;
     465                }
     466            </style>
     467            <?php
    457468        }
    458469    }
     
    643654    /**
    644655     * Maybe upgrade
    645      *
    646      * @access public
    647      * @return void
    648656     */
    649657    public function maybe_upgrade() {
     
    659667     * Test WordPress version
    660668     *
    661      * @access public
    662669     * @param  string $version - A WordPress version to compare against current version.
    663670     * @return boolean
  • nav-menu-roles/trunk/inc/class-walker-nav-menu-edit-roles-4.7.php

    r2371609 r3492100  
    4040     * Get custom fields
    4141     *
    42      * @access protected
    4342     * @since 0.1.0
    4443     * @uses do_action() Calls 'menu_item_custom_fields' hook
  • nav-menu-roles/trunk/inc/customizer.php

    r2684602 r3492100  
    2525
    2626// Workaround for previewing changes.
    27 if ( \Nav_Menu_Roles::is_wp_gte( '4.9' ) ) {
    28     add_action( 'customize_register', __NAMESPACE__ . '\customizer_preview', 1000 );
    29 }
     27add_action( 'customize_register', __NAMESPACE__ . '\customizer_preview', 1000 );
    3028
    3129// Workaround for saving changes.
     
    106104 */
    107105function customizer_scripts() {
    108     $script_dependencies = include plugin_dir_path( __DIR__ ) . '/dist/customize-controls.asset.php';
     106    $script_dependencies = include plugin_dir_path( __DIR__ ) . '/assets/js/customizer/controls.asset.php';
    109107    wp_enqueue_script(
    110108        'customize-nav-menu-roles',
    111         plugins_url( 'dist/customize-controls.js', dirname( __FILE__ ) ),
     109        plugins_url( 'assets/js/customizer/controls.js', dirname( __FILE__ ) ),
    112110        array_merge( array( 'customize-nav-menus' ), $script_dependencies['dependencies'] ),
    113111        $script_dependencies['version'],
  • nav-menu-roles/trunk/languages/nav-menu-roles.pot

    r2844987 r3492100  
    1 # Copyright (C) 2023 Kathy Darling
     1# Copyright (C) 2026 Kathy Darling
    22# This file is distributed under the GPL-3.0.
    33msgid ""
    44msgstr ""
    5 "Project-Id-Version: Nav Menu Roles 2.1.2\n"
     5"Project-Id-Version: Nav Menu Roles 2.1.3\n"
    66"Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/nav-menu-roles\n"
    77"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
     
    1010"Content-Type: text/plain; charset=UTF-8\n"
    1111"Content-Transfer-Encoding: 8bit\n"
    12 "POT-Creation-Date: 2023-01-07T20:43:48+00:00\n"
     12"POT-Creation-Date: 2026-03-26T19:21:53+00:00\n"
    1313"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
    14 "X-Generator: WP-CLI 2.7.1\n"
     14"X-Generator: WP-CLI 2.12.0\n"
    1515"X-Domain: nav-menu-roles\n"
    1616
    1717#. Plugin Name of the plugin
    18 #: inc/class-nav-menu-roles.php:161
     18#: nav-menu-roles.php:3
     19#: inc/class-nav-menu-roles.php:149
    1920msgid "Nav Menu Roles"
    2021msgstr ""
    2122
    2223#. Plugin URI of the plugin
     24#: nav-menu-roles.php:4
    2325msgid "http://www.kathyisawesome.com/449/nav-menu-roles/"
    2426msgstr ""
    2527
    2628#. Description of the plugin
     29#: nav-menu-roles.php:5
    2730msgid "Hide custom menu items based on user roles."
    2831msgstr ""
    2932
    3033#. Author of the plugin
     34#: nav-menu-roles.php:7
    3135msgid "Kathy Darling"
    3236msgstr ""
    3337
    3438#. Author URI of the plugin
     39#: nav-menu-roles.php:8
    3540msgid "http://www.kathyisawesome.com"
    3641msgstr ""
    3742
     43#: inc/class-nav-menu-roles-import.php:112
     44#: inc/class-nav-menu-roles-import.php:121
     45#: inc/class-nav-menu-roles-import.php:167
     46#: inc/class-nav-menu-roles-import.php:171
     47#: inc/class-nav-menu-roles-import.php:181
     48msgid "Sorry, there has been an error."
     49msgstr ""
     50
    3851#: inc/class-nav-menu-roles-import.php:113
    39 #: inc/class-nav-menu-roles-import.php:122
    40 #: inc/class-nav-menu-roles-import.php:168
    41 #: inc/class-nav-menu-roles-import.php:172
    42 #: inc/class-nav-menu-roles-import.php:182
    43 msgid "Sorry, there has been an error."
    44 msgstr ""
    45 
    46 #: inc/class-nav-menu-roles-import.php:114
    4752msgid "The file does not exist, please try again."
    4853msgstr ""
    4954
    50 #: inc/class-nav-menu-roles-import.php:153
     55#: inc/class-nav-menu-roles-import.php:152
    5156msgid "All done."
    5257msgstr ""
    5358
    54 #: inc/class-nav-menu-roles-import.php:153
     59#: inc/class-nav-menu-roles-import.php:152
    5560msgid "Have fun!"
    5661msgstr ""
    5762
    5863#. translators: %s is export file name.
    59 #: inc/class-nav-menu-roles-import.php:174
     64#: inc/class-nav-menu-roles-import.php:173
     65#, php-format
    6066msgid "The export file could not be found at %s. It is likely that this was caused by a permissions problem."
    6167msgstr ""
    6268
    6369#. translators: %s is file version number.
    64 #: inc/class-nav-menu-roles-import.php:191
     70#: inc/class-nav-menu-roles-import.php:190
     71#, php-format
    6572msgid "This WXR file (version %s) may not be supported by this version of the importer. Please consider updating."
    6673msgstr ""
    6774
    68 #: inc/class-nav-menu-roles-import.php:259
     75#: inc/class-nav-menu-roles-import.php:258
    6976msgid "Import Nav Menu Roles"
    7077msgstr ""
    7178
    7279#. translators: %s is importer version number.
    73 #: inc/class-nav-menu-roles-import.php:267
     80#: inc/class-nav-menu-roles-import.php:266
     81#, php-format
    7482msgid "A new version of this importer is available. Please update to version %s to ensure compatibility with newer export files."
    7583msgstr ""
    7684
     85#: inc/class-nav-menu-roles-import.php:281
     86msgid "Re-Upload your normal WordPress eXtended RSS (WXR) file and we&#8217;ll import the Nav Menu Roles and any other missing post meta for the Nav Menu items."
     87msgstr ""
     88
    7789#: inc/class-nav-menu-roles-import.php:282
    78 msgid "Re-Upload your normal WordPress eXtended RSS (WXR) file and we&#8217;ll import the Nav Menu Roles and any other missing post meta for the Nav Menu items."
    79 msgstr ""
    80 
    81 #: inc/class-nav-menu-roles-import.php:283
    8290msgid "Choose a WXR (.xml) file to upload, then click Upload file and import."
    8391msgstr ""
     
    9199msgstr ""
    92100
    93 #: inc/class-nav-menu-roles.php:161
     101#: inc/class-nav-menu-roles.php:149
    94102msgid "Import <strong>nav menu roles</strong> and other menu item meta skipped by the default importer"
    95103msgstr ""
    96104
    97 #: inc/class-nav-menu-roles.php:293
     105#: inc/class-nav-menu-roles.php:281
    98106msgid "FAQ"
    99107msgstr ""
    100108
    101 #: inc/class-nav-menu-roles.php:294
     109#: inc/class-nav-menu-roles.php:282
    102110msgid "Donate"
    103111msgstr ""
    104112
    105 #: inc/class-nav-menu-roles.php:383
    106 #: inc/customizer.php:59
     113#: inc/class-nav-menu-roles.php:369
     114#: inc/customizer.php:57
    107115msgid "Display Mode"
    108116msgstr ""
    109117
    110 #: inc/class-nav-menu-roles.php:389
    111 #: inc/customizer.php:63
     118#: inc/class-nav-menu-roles.php:375
     119#: inc/customizer.php:61
    112120msgid "Show"
    113121msgstr ""
    114122
    115 #: inc/class-nav-menu-roles.php:394
    116 #: inc/customizer.php:68
     123#: inc/class-nav-menu-roles.php:380
     124#: inc/customizer.php:66
    117125msgid "Hide"
    118126msgstr ""
    119127
    120 #: inc/class-nav-menu-roles.php:400
     128#: inc/class-nav-menu-roles.php:386
    121129msgid "Target audience"
    122130msgstr ""
    123131
    124 #: inc/class-nav-menu-roles.php:406
    125 #: inc/customizer.php:78
     132#: inc/class-nav-menu-roles.php:392
     133#: inc/customizer.php:76
    126134msgid "Logged In Users"
    127135msgstr ""
    128136
    129 #: inc/class-nav-menu-roles.php:411
    130 #: inc/customizer.php:82
     137#: inc/class-nav-menu-roles.php:397
     138#: inc/customizer.php:80
    131139msgid "Logged Out Users"
    132140msgstr ""
    133141
    134 #: inc/class-nav-menu-roles.php:416
    135 #: inc/customizer.php:86
     142#: inc/class-nav-menu-roles.php:402
     143#: inc/customizer.php:84
    136144msgid "Everyone"
    137145msgstr ""
    138146
    139 #: inc/class-nav-menu-roles.php:422
     147#: inc/class-nav-menu-roles.php:408
    140148msgid "Target role"
    141149msgstr ""
     
    144152#: inc/class-walker-nav-menu-edit-roles-4.5.php:101
    145153#: inc/class-walker-nav-menu-edit-roles.php:109
     154#, php-format
    146155msgid "%s (Invalid)"
    147156msgstr ""
     
    150159#: inc/class-walker-nav-menu-edit-roles-4.5.php:105
    151160#: inc/class-walker-nav-menu-edit-roles.php:113
     161#, php-format
    152162msgid "%s (Pending)"
    153163msgstr ""
     
    239249#: inc/class-walker-nav-menu-edit-roles-4.5.php:229
    240250#: inc/class-walker-nav-menu-edit-roles.php:234
     251#, php-format
    241252msgid "Original: %s"
    242253msgstr ""
     
    257268msgstr ""
    258269
    259 #: inc/customizer.php:74
     270#: inc/customizer.php:72
    260271msgid "Target Audience"
    261272msgstr ""
    262273
    263 #: inc/customizer.php:91
     274#: inc/customizer.php:89
    264275msgid "Target Roles"
    265276msgstr ""
  • nav-menu-roles/trunk/nav-menu-roles.php

    r2844987 r3492100  
    44 * Plugin URI: http://www.kathyisawesome.com/449/nav-menu-roles/
    55 * Description: Hide custom menu items based on user roles.
    6  * Version: 2.1.2
     6 * Version: 2.1.3
    77 * Author: Kathy Darling
    88 * Author URI: http://www.kathyisawesome.com
     
    1010 * Text Domain: nav-menu-roles
    1111 *
    12  * Copyright 2020 Kathy Darling
     12 * Copyright 2026 Kathy Darling
    1313 *
    1414 * This program is free software; you can redistribute it and/or modify
  • nav-menu-roles/trunk/readme.txt

    r3465898 r3492100  
    22
    33Contributors: helgatheviking
    4 Donate link: https://www.paypal.com/fundraiser/charity/1451316
     4Donate link: https://paypal.me/helgatheviking
    55Tags: menu, menus, nav menu, nav menus
    6 Requires at least: 4.5.0
    7 Tested up to: 6.8.0
    8 Requires PHP: 5.3.2
     6Requires at least: 6.6.0
     7Tested up to: 6.9.0
     8Requires PHP: 7.4
    99Stable tag: 2.1.3
    1010License: GPLv3
    1111
    12 Hide custom menu items based on user roles. PLEASE READ THE FAQ IF YOU ARE NOT SEEING THE SETTINGS.
     12Hide custom menu items based on user roles.
    1313
    1414== Description ==
     
    3232Support is handled in the [WordPress forums](https://wordpress.org/support/plugin/nav-menu-roles). Please note that support is limited and does not cover any custom implementation of the plugin. Before posting, please read the [FAQ](http://wordpress.org/plugins/nav-menu-roles/faq/). Also, please verify the problem with other plugins disabled and while using a default theme.
    3333
    34 Please report any bugs, errors, warnings, code problems to [Github](https://github.com/helgatheviking/nav-menu-roles/issues)
     34Please report any bugs, errors, warnings, code problems to [GitHub](https://github.com/helgatheviking/nav-menu-roles/issues)
    3535
    3636== Installation ==
     
    268268
    269269= 2.1.3 =
     270* Requires: PHP 7.4 and WordPress 6.3
    270271* Fix: RTL layout style.
    271272
     
    331332
    332333= 1.8.1 =
    333 * Switch input names to use a counter [nav-menu-role][100][1]. For some reason [nav-menu-role][100][] doesn't post an array and hypenated names [nav-menu-role][100][gold-plan] wreak havoc on the save routine. Shouldn't impact anyone not using hyphenated role names.
     334* Switch input names to use a counter [nav-menu-role][100][1]. For some reason [nav-menu-role][100][] doesn't post an array and hyphenated names [nav-menu-role][100][gold-plan] wreak havoc on the save routine. Shouldn't impact anyone not using hyphenated role names.
    334335
    335336= 1.8.0 =
     
    363364= 1.7.1 =
    364365* Updated FAQ with patch instructions for conflicting plugins/themes
    365 * add Portugeuse language. props @brunobarros
     366* add Portuguese language. props @brunobarros
    366367
    367368= 1.7.0 =
Note: See TracChangeset for help on using the changeset viewer.