1

我在我的代码中使用 WP 指针...在我关闭它一次后指针不再显示...我删除了我的插件并再次激活它但 wp 指针不再显示...如果我安装一个新的 wordpress 然后 WP 指针显示但是当我关闭它时,它就再也不会出现了。有没有办法在激活插件时再次出现 wp 指针...??这是我的代码

 function thsp_enqueue_pointer_script_style( $hook_suffix ) {
    // Assume pointer shouldn't be shown

$enqueue_pointer_script_style = false;

    // Get array list of dismissed pointers for current user and convert it to array

$dismissed_pointers = explode( ',', get_user_meta( get_current_user_id(), 'dismissed_wp_pointers', true ) );

    // Check if our pointer is not among dismissed ones
if( !in_array( 'thsp_pointer', $dismissed_pointers ) ) {
    $enqueue_pointer_script_style = true;

    // Add footer scripts using callback function
    add_action( 'admin_print_footer_scripts', 'thsp_pointer_print_scripts' );
}

    // Enqueue pointer CSS and JS files, if needed
if( $enqueue_pointer_script_style ) {
    wp_enqueue_style( 'wp-pointer' );
    wp_enqueue_script( 'wp-pointer' );
}}add_action( 'admin_enqueue_scripts', 'thsp_enqueue_pointer_script_style' );

function thsp_pointer_print_scripts() {

$pointer_content  = "<h3>My New Plugin</h3>";
$pointer_content .= "<p>If you ever activated a plugin, then had no idea where its settings page is, raise your hand.</p>";
?>

<script type="text/javascript">
//<![CDATA[
jQuery(document).ready( function($) {
    $('#toplevel_page_settings').pointer({
        content:'<?php echo $pointer_content; ?>',
        position:{
            edge:   'left', // arrow direction
            align:  'center' // vertical alignment
            },
        pointerWidth:   350,
        close:function() {
            $.post( ajaxurl, {
                pointer: 'thsp_pointer', // pointer ID
                action: 'dismiss-wp-pointer'
                });
        }
    }).pointer('open');
});
//]]>
</script>

4

1 回答 1

0

取消的指针存储在wp_usermeta表中,对于每个用户,子元键dismissed_wp_pointersregister_deactivation_hook理想情况下,如果您希望它们在重新激活时重新出现,您的插件应该在停用时删除每个用户的指针 ID(请参阅参考资料)。

于 2013-11-10T03:35:24.353 回答