WP_Internal_Pointers::enqueue_scripts
Initializes the new feature pointers.
All pointers can be disabled using the following:
remove_action( 'admin_enqueue_scripts', array( 'WP_Internal_Pointers', 'enqueue_scripts' ) );
Individual pointers (e.g. wp390_widgets) can be disabled using the following:
function yourprefix_remove_pointers() {
remove_action(
'admin_print_footer_scripts',
array( 'WP_Internal_Pointers', 'pointer_wp390_widgets' )
);
}
add_action( 'admin_enqueue_scripts', 'yourprefix_remove_pointers', 11 );
Method of the class: WP_Internal_Pointers{}
No Hooks.
Returns
null. Nothing (null).
Usage
$result = WP_Internal_Pointers::enqueue_scripts( $hook_suffix );
- $hook_suffix(string) (required)
- The current admin page.
Changelog
| Since 3.3.0 | Introduced. |
WP_Internal_Pointers::enqueue_scripts() WP Internal Pointers::enqueue scripts code WP 7.0
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' );
}