Replies: 0
Admin scripts are enqueued on all admin pages instead of just the plugin page.
This can cause conflicts with 3rd-party plugins, and in the case of a client for example the WooCommerce tabs when creating a new product were not functioning (combination of DK-PDF, WooCommerce & Mapify-Pro plugins).
Solution was to add this in a php file in mu-plugins:
<?php
/**
* Remove DK-PDF scripts when the current page is not dkpdf_settings.
*/
add_action( 'admin_enqueue_scripts', function() {
if ( is_admin() && ( ! $_GET || ! isset( $_GET['page'] ) || 'dkpdf_settings' !== $_GET['page'] ) ) {
remove_action( 'admin_enqueue_scripts', 'dkpdf_admin_enqueue_scripts', 10, 1 );
}
}, 1 );
However we shouldn’t have to do that… Instead the plugin should be just adding its assets on its own page and not everywhere. More details on https://codex.wordpress.org/Plugin_API/Action_Reference/admin_enqueue_scripts#Example:_Target_a_Specific_Admin_Page