Display Pointer only once?

时间:2013-10-18 作者:jay

我使用以下代码在后期编辑页面上显示指针。每次加载页面时,它都会显示指针。有没有办法阻止它每次都显示出来?(例如,仅在首次加载页面时显示,而不是每次保存帖子或重新加载页面时显示)?

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

1 个回复
最合适的回答,由SO网友:josh 整理而成

指针的思想是在指针关闭时更新用户元。这将阻止指针在每次页面加载时显示。一旦用户单击“关闭”。。该用户元指针键已更新。

因此,在关闭函数中添加一个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 在post中,可能首先需要定义请求(如果在查看器端使用此选项)。您可以定义一个全局命名空间变量来将url传递给js文件。

结束

相关推荐

WordPress不显示wp-Content/Themes文件夹中的主题

我会尽我所能解释这一点,但至少可以说这很奇怪。因此,两个默认主题(210和2111)出现在wp admin的外观>主题选项卡下。但是,如果我向wp内容/主题添加一个新主题(即使只是一个空文件夹),则除了当前使用的主题之外,所有主题都无法显示在“外观”>“主题”选项卡上。有人有什么想法吗?--这是在LAMP服务器上(Ubuntu 12.04)。