Показать панель приветствия на панели инструментов для каждого пользователя

Я настроил панель приветствия на панели инструментов для пользователей с информацией. Затем я спрятал кнопку «Отклонить» и добавил CSS, чтобы сделать панель приветствия всегда видимой. Использование крюка «welcome_panel».

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

Мне нужно найти способ включить код панели приветствия для каждого пользователя, а не только администраторов.

Просто нашел следующее в wp-admin/index.php . Таким образом, он будет показывать, только если пользователь может edit_theme_options.

 <?php if ( has_action( 'welcome_panel' ) && current_user_can( 'edit_theme_options' ) ) : 

Есть ли способ отредактировать это или вызвать do_action ('welcome_panel'); даже если пользователь не может редактировать_theme_options?

Solutions Collecting From Web of "Показать панель приветствия на панели инструментов для каждого пользователя"

Вот как я это решил:

В functions.php

 // Custom Dashboard function my_custom_dashboard() { $screen = get_current_screen(); if( $screen->base == 'dashboard' ) { include 'admin/dashboard-panel.php'; } } add_action('admin_notices', 'my_custom_dashboard'); 

Приборная панель-panel.php

 <!-- Hide Old Wrap with CSS --> <style type="text/css"> div#wpcontent div.wrap { display: none; } div#wpcontent div.my-dashboard { display: block; } </style> <!-- New Wrap with custom welcome screen--> <div class="wrap mjp-dashboard"> <h2>Dashboard</h2> <div id="welcome-panel" class="welcome-panel"> <?php wp_nonce_field( 'welcome-panel-nonce', 'welcomepanelnonce', false ); ?> <?php //do_action( 'welcome_panel' ); ?> <div class="mjp-welcome-content"> <h3>Welcome, <?php echo $name; ?></h3> <p class="about-description">Your role is...</p> <div class="welcome-panel-column-container"> <div class="welcome-panel-column"> </div> </div> </div> </div> <div id="dashboard-widgets-wrap"> <?php wp_dashboard(); ?> <div class="clear"></div> </div><!-- dashboard-widgets-wrap --> </div><!-- wrap --> 

Как вы уже выяснили, условия отображения для этой панели жестко закодированы в файл ядра . Он не предназначен для изменения, а это значит, что вы, вероятно, пытаетесь использовать панель для чего-то, для чего она не предназначена. Это не критика. Это просто усложняет ситуацию. Я не вижу способа изменить это, кроме как путем редактирования основного файла, и я не советую этого.

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

Вы также можете предоставить каждому возможность edit_theme_options , но это плохая идея. Мне стыдно, что я подумал об этом. 🙂

Из того, что я могу сказать, ваши варианты довольно ограничены и действительно сводятся к «основному редактированию». Это путь с высоким уровнем обслуживания, чтобы начать работу. Я предлагаю вам разместить информацию о пользователе в другом месте, например, в новом виджетах панели мониторинга , на экране справки или в панели администратора .