0

I created a plugin to export some specific content in Wordpress ( called cav and located in /wp-content/plugins/cav ) and I added its admin menu link in the Tools main menu as follows:

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' );

All this works fine when I used

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

but I want it to work ONLY when it's actually

if( $hook == 'post-new.php' || $hook=='tools.php?page=CAV' ){ . . .} (Only on the page is CAV )

Any suggestion?

3
  • After some digging, I found this and it did the trick wordpress.stackexchange.com/questions/41207/… Commented Dec 23, 2016 at 14:06
  • suggestion... You can also asnwer your own question, it will help future people to find the answer right away, instead of navigating through links. Commented Dec 23, 2016 at 15:30
  • I just did. Thank @andrepaulo Commented Dec 23, 2016 at 16:02

1 Answer 1

1

After some digging I got this:

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');

Then I put the styles and scripts that need to be enqueued in a function

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") );
}

I hope it helps someone.

Sign up to request clarification or add additional context in comments.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.