MailPoet staat het laden van eigen CSS niet toe in wp-admin

MailPoet logo.Probleem:
Vorige week wilde ik in de wp-admin omgeving van mijn website CSS styling toevoegen. Dit was nodig om een irritante mededeling te verbergen die continue zichtbaar bleef. Je kon deze niet verbergen door op het kruisje te klikken en deze was gauw 3 cm hoog.

Ik heb hiervoor gebruik gemaakt van onderstaande PHP code die mijn CSS bestand deed inladen. De mededeling werd prima verborgen.

function enqueue_custom_admin_style() {
        wp_register_style( 'custom_wp_admin_css', get_template_directory_uri() . '/admin-style.css', false, '1.0.0' );
        wp_enqueue_style( 'custom_wp_admin_css' );
}
add_action( 'admin_enqueue_scripts', 'enqueue_custom_admin_style' );

Vreemd genoeg werd het eigen CSS bestand niet ingeladen wanneer ik schermen van MailPoet bezocht. Met als gevolg dat de irritante mededeling weer werd getoond.

Oplossing:
Uit onderzoek blijkt dat het CSS bestand niet ingeladen werd tijdens het tonen van de MailPoet plugin. De PHP code is goed, want deze werkt wel in alle andere schermen in de wp-admin omgeving.

MailPoet staat niet toe dat andere plugins, thema’s of ontwikkelaars CSS styling aan MailPoet toevoegen. Op deze manier hebben ze volledige controle over de visuele presentatie van hun schermen.

In het bestand ConflictResolver.php vanaf regel 81 vind je de functie resolveStylesConflict(). Deze verwijderd alle styles die niet van MailPoet zijn. Om dat voor elkaar te krijgen wordt deze functie het allerlaatste uitgevoerd. Die krijgt hiervoor een hoge prio door gebruik te maken van de PHP_INT_MAX waarde.

Een oplossing heb ik op dit moment niet. Mijn probleem heb ik op een andere manier opgelost. Maar nu weet je wel waarom het laden van eigen CSS niet werkt in MailPoet.

Oplossing getest op:
WordPress 5.4.1 en MailPoet 3.46.13

Laat een reactie achter

Je e-mailadres zal niet worden gepubliceerd. vereiste velden zijn gemarkeerd met *

Deze site gebruikt Akismet om spam te verminderen. Bekijk hoe je reactie-gegevens worden verwerkt.