在Wordpress中的某些管理页面上自定义css和JS

时间:2016-12-23 13:43:42

标签: javascript php jquery css wordpress

我创建了一个插件,用于在Wordpress中导出一些特定内容(名为 cav ,位于 / wp-content / plugins / cav 中)并添加了管理菜单链接在Tools主菜单中,如下所示:

define( 'CAV_DIR', plugin_dir_path( __FILE__ ) );
define( 'CAV_URL', plugins_url()."/cav" );

function cavlfo_admin_enqueue($hook) {
global $post;
if ( $hook == 'post-new.php' || $hook=='tools.php?page=CAV' ) {

        wp_enqueue_style( 'cavlfo_style', CAV_URL. '/css/cav.css' );
  wp_enqueue_style(  'cavlfo_targetted', CAV_URL.'/css/targettedcss.css' );
        wp_enqueue_script(  'cavlfo_targetted', CAV_URL.'/js/targetted.js', array("jquery") );
}
}
add_action( 'admin_enqueue_scripts', 'cavlfo_admin_enqueue' );

当我使用

时,这一切都正常

if( $hook == 'post-new.php' || $hook=='tools.php' ){ . . .}

但是我希望它只在它实际上

时起作用

if( $hook == 'post-new.php' || $hook=='tools.php?page=CAV' ){ . . .}(仅在页面上是CAV)

有什么建议吗?

1 个答案:

答案 0 :(得分:1)

经过一番挖掘,我得到了这个:

function CAV_options_page()
{
  $submenu= add_submenu_page(
        'tools.php',
        'Cav Options',
        'Cav Options',
        'manage_options',
        'CAV',
        'CAV_options_page_html'
    );
add_action( 'admin_print_styles-' . $submenu, 'CAV_custom_enqueue' );
add_action( 'admin_print_scripts-' . $submenu, 'CAV_custom_enqueue' );
}
add_action('admin_menu', 'CAV_options_page');

然后我将需要入队的样式和脚本放入函数

function CAV_custom_enqueue(){
    wp_enqueue_style(  'cav_targetted', CAV_URL.'/css/targettedcss.css' );
    wp_enqueue_script(  'cav_targetted', CAV_URL.'/js/targetted.js', array("jquery") );
}

我希望它有助于某人。