Показать указатель только один раз?

Я использую следующий код для отображения указателя на странице редактирования сообщения. Он отображает указатель каждый раз, когда страница загружается. Есть ли способ остановить его отображение каждый раз? (например, отображение только при первой загрузке страницы), а не каждый раз, когда сообщение сохраняется или страница перезагружается и т. д.)?

$('#some-button').pointer({ content: '<?php echo $pointer_content; ?>', position: { edge: 'left', align: 'center' }, close: function() { // Once the close button is hit } }).pointer('open'); 

Solutions Collecting From Web of "Показать указатель только один раз?"

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

Итак, добавьте метод post к своей закрытой функции:

 close: function() { // Once the close button is hit $.post (ajaxurl, { pointer: 'dismiss_my_pointer', action: 'dismiss-wp-pointer' }); } 

Затем на странице, где вы вызываете указатель, вам необходимо вложить в нужный файл необходимые файлы:

 function my_enqueue_scripts () { $dismissed = explode (',', get_user_meta (wp_get_current_user ()->ID, 'dismissed_wp_pointers', true)); $not_in_array = !in_array ('dismiss_my_pointer', $dismissed); if ($not_in_array) { wp_enqueue_style ('wp-pointer'); wp_enqueue_script ('wp-pointer'); wp_enqueue_script ('utils'); } } add_action('admin_enqueue_scripts', 'my_enqueue_scripts'); 

ПРИМЕЧАНИЕ 1. Вам нужно запустить проверку, чтобы убедиться, что вы только ставите этот сценарий на странице, где вам нужно.

ПРИМЕЧАНИЕ 2: ajaxurl в почтовом запросе может потребоваться сначала определить (если использовать его со стороны зрителя). Вы можете определить глобальную переменную с именами, чтобы передать URL-адрес вашему js-файлу.