Показать вкладку Nav Link для пользователей

Пользователи WordPress позволяют применять классы CSS к ссылкам в разделе «Появления» -> «Меню».

Основываясь на этом, я хотел бы знать, есть ли способ скрыть ссылки, имеющие определенный класс CSS. Так сказать, я применяю класс CSS

.members

к одной из моих навигационных ссылок. Уловка, я бы хотел, чтобы эта ссылка отображалась только пользователям, которые вошли в систему.

Я немного застрял, хотя я не знаю, как это сделать. Может что-то вроде:

if(is_user_logged_in()) { } 

Я просто не знаю, как настроить таргетинг на класс CSS.

Вы можете использовать body_class для этой цели, например:

 .members { display: none; } body.logged-in .members { display: block; } 

Если вам удобно писать PHP-код, вы можете получить массив каждого элемента в меню, используя wp_get_nav_menu_items () , и используя массив классов объекта, чтобы выяснить, какие классы применяются к элементу. Затем вы будете использовать is_user_logged_in (), чтобы отобразить ссылку.

Что-то вроде:

  foreach ($items as $item){ if ( in_array( 'members' , $item->classes ) ) { if ( is_user_logged_in() ) { echo '<a href="'.$menu_item->url.'">link</a>'; } } else { echo '<a href="'.$menu_item->url.'">link</a>'; } } 

Если вы не хотите взломать и скриптать с некоторым PHP, попробуйте сыграть с плагином разрешений, например http://wordpress.org/plugins/user-permissions/ или http://wordpress.org/plugins/members/ , Я лично не пытался использовать его для установки разрешений в меню, но эти плагины позволят вам управлять разрешениями по роли пользователя почти во всем через графический интерфейс