Добавьте уведомление пользователям при первом входе в админку


Я хотел бы дать пользователям небольшое приветственное сообщение при их первом входе в админку. Как только они скроют сообщение, оно не должно появиться снова. Я заметил, что admin_notice - это крючок, но не знаю, с чего начать. Спасибо.

Author: agileapricot, 2010-12-20

2 answers

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

add_action('admin_notices', 'my_notice');    
add_action('wp_ajax_hide_my_notice', 'hide_my_notice');

function hide_my_notice(){
  check_ajax_referer('hide-my-notice');
  $user = wp_get_current_user();

  // update status for this user
  $seen_notice = get_option('my_notice');
  $seen_notice[$user->ID] = true;
  update_option('my_notice', $seen_notice);
  exit;
} 

function my_notice(){

  $user = wp_get_current_user();
  $seen_notice = get_option('my_notice');

  // already seen it?
  if(isset($seen_notice[$user->ID]) && $seen_notice[$user->ID])
    return;

  ?>
  <div class="updated fade below-h2">
    <p>
      Hi <?php print esc_attr($user->user_login); ?>! Duuuuuude, whatz upp???
      <a class="hide-me"> X </a>
    </p>
   </div>  

   <script type="text/javascript">    

     // this should go in a javascript file;
     // use wp_localize_script() to send variables from PHP to it
     jQuery(document).ready(function($) {

       $('a.hide-me').on('click', function(){

         $.ajax({
           url: '<?php print admin_url("admin-ajax.php"); ?>',
           type: 'GET',
           context: this,
           data: ({
             action: 'hide_my_notice',
             _ajax_nonce: '<?php print wp_create_nonce('hide-my-notice'); ?>'
           }),
           success: function(response){ 
             $(this).closest('div').remove();
           }    
         });
       });

     });

   </script>    
  <?php     
}

Вы также можете использовать варианты файлы cookie или переходные процессы для хранения статуса уведомления

 5
Author: onetrickpony, 2013-02-12 03:30:13

WordPress 3.3 имеет Указатели для этого.

Example of a pointer

WordPress 3.3 запланирован на ноябрь [2011], и мы опубликовали область действия некоторое время назад здесь на Theme.fm . Как упоминалось в этом посте, 3.3 получит ряд улучшений пользовательского интерфейса, одним из которых являются указатели (или указатели администратора). Мы узнали об указателях в WordPress несколько часов назад от одного из наборов изменений Дэрила Куперсмита, поэтому мы решили попробовать сами.

Что такое Указатели администратора?

Вот что Джейн написала в тикете trac для указателей WordPress:

Когда новая функция, ориентированная на пользователя, включена в основное обновление, отобразите указатель новой функции, который выделяет новую функцию а-ля Facebook, Gmail и т. Д.

 2
Author: Ian Dunn, 2020-06-15 08:21:38