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

Я начну с предупреждения о том, что мои навыки программирования ограничены.

Мне нужно создать виджет панели инструментов, который будет отображаться на панели управления WP для пользователей с user_id = 21.

До сих пор я пробовал следующий код, но он не работает:

function my_catdb() { echo '<a href="http://xxxxxxxxxxx.org/?frm_display=single-catproblem">View the Problem Problem Database.</a>'; } /** * add Dashboard Widget via function wp_add_dashboard_widget() */ function my_catdb_setup() { wp_add_dashboard_widget( 'my_catdb', __( 'Cataloging Problem Database' ), 'my_catdb' ); } /** * use hook, to integrate new widget */ $user_id = get_current_user_id(); if ( is_user_logged_in() ) { if ( $user_id = 21 ) { add_action('wp_dashboard_setup', 'my_wp_dashboard_setup'); } } 

Любая помощь приветствуется. благодаря

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

Вы должны ждать, пока wp_loaded будет использовать get_current_user_id() .

Пример:

 add_action( 'wp_loaded', 'wpse_80061_load_dashboard_widget' ); function wpse_80061_load_dashboard_widget() { if ( 1 === get_current_user_id() ) add_action( 'wp_dashboard_setup', 'wpse_80061_add_dashboard_widget' ); // your function: // add_action( 'wp_dashboard_setup', 'my_catdb_setup' ); } function wpse_80061_add_dashboard_widget() { wp_add_dashboard_widget( 'wpse_80061_widget', 'Hey!', 'wpse_80061_render_dashboard_widget' ); } function wpse_80061_render_dashboard_widget() { echo 'hey!'; } 

Для виджета панели инструментов с более подробной информацией см. Мой виджет T5 Table dbarboard .