WP_Internal_Pointers::enqueue_scripts( string $hook_suffix )

In this article

Initializes the new feature pointers.

Parameters

$hook_suffixstringrequired
The current admin page.

Source

public static function enqueue_scripts( $hook_suffix ) {
	/*
	 * Register feature pointers
	 *
	 * Format:
	 *     array(
	 *         hook_suffix => pointer callback
	 *     )
	 *
	 * Example:
	 *     array(
	 *         'themes.php' => 'wp390_widgets'
	 *     )
	 */
	$registered_pointers = array(
		// None currently.
	);

	// Check if screen related pointer is registered.
	if ( empty( $registered_pointers[ $hook_suffix ] ) ) {
		return;
	}

	$pointers = (array) $registered_pointers[ $hook_suffix ];

	/*
	 * Specify required capabilities for feature pointers
	 *
	 * Format:
	 *     array(
	 *         pointer callback => Array of required capabilities
	 *     )
	 *
	 * Example:
	 *     array(
	 *         'wp390_widgets' => array( 'edit_theme_options' )
	 *     )
	 */
	$caps_required = array(
		// None currently.
	);

	// Get dismissed pointers.
	$dismissed = explode( ',', (string) get_user_meta( get_current_user_id(), 'dismissed_wp_pointers', true ) );

	$got_pointers = false;
	foreach ( array_diff( $pointers, $dismissed ) as $pointer ) {
		if ( isset( $caps_required[ $pointer ] ) ) {
			foreach ( $caps_required[ $pointer ] as $cap ) {
				if ( ! current_user_can( $cap ) ) {
					continue 2;
				}
			}
		}

		// Bind pointer print function.
		add_action( 'admin_print_footer_scripts', array( 'WP_Internal_Pointers', 'pointer_' . $pointer ) );
		$got_pointers = true;
	}

	if ( ! $got_pointers ) {
		return;
	}

	// Add pointers script and style to queue.
	wp_enqueue_style( 'wp-pointer' );
	wp_enqueue_script( 'wp-pointer' );
}

Changelog

VersionDescription
3.3.0Introduced.

User Contributed Notes

You must log in before being able to contribute a note or feedback.