web-dev-qa-db-ja.com

3.3ツールチップを無効にするには?

私は多くのライブサイトと開発サイトをアップグレードするときに3.3ツールチップが厄介だと思います。 functions.phpでそれらを無効にするにはどうすればいいですか? wp-includes/js/wp-pointer.jsのアンエンキュー

3
markratledge

このメソッドを使用して登録した直後に、ポインタスクリプトとスタイルをそれぞれの配列から削除することもできます。

// Remove javascript
add_action( 'wp_default_scripts' , 'remove_pointer_script' );
function remove_pointer_script( $wp_scripts ) {
    $wp_scripts->remove('wp-pointer');
}

// Remove stylesheet
add_action( 'wp_default_styles' , 'remove_pointer_style' );
function remove_pointer_style( $wp_styles ) {
    $wp_styles->remove('wp-pointer');
}

removeメソッドはWP_ScriptsクラスとWP_Stylesクラスの両方によって拡張される 依存関係クラス の一部です。基本的にはaddメソッドの逆の処理を行います。デフォルトのスクリプトとスタイルを登録するためにコア内部で使用されます。そのメソッドがどこから来たのか、それが何のためのものなのか興味があるのではないかと述べました。

特定のユーザのためにそれらを一掃したい場合にも、current_user_canチェックでそれらのアクションをカプセル化することができると思います、例えば、admins。

if( current_user_can( 'manage_options' ) ) {
    add_action( 'wp_default_scripts' , 'remove_pointer_script' );
    add_action( 'wp_default_styles' , 'remove_pointer_style' );
}

個人的には私は新しいツールチップがとても好きで、プラグインでそれらを利用するための単純なAPIはまだ利用できません/たくさんのインストールやアップグレードをしているだけで、物事を成し遂げる必要があります。

2
t31os

はい、スクリプト(とスタイル)をデキューするだけです。

add_action('admin_enqueue_scripts', 'no_pointers');

function no_pointers(){
  wp_dequeue_script('wp-pointer');
  wp_dequeue_style('wp-pointer');
}

あるいは、特定のユーザーに対してそれらを無効にすることもできます 恒久的に

WP_Internal_Pointers::dismiss_pointers_for_new_users($user_id = 0);
4
onetrickpony