Existe-t-il un moyen de mettre en file d'attente mon style.css
(et d'autres feuilles de style) APRES qu'un certain plugin ait mis ses styles en file d'attente?
Plus précisément, je veux que mon style.css
écrase les styles de cforms, mais lorsque je change la priorité de add_action, cela ne fait rien.
Voici ce que j'ai
function rm_theme_styles()
{
wp_register_style( 'rm_styles', get_template_directory_uri() . '/style.css', array(), null, 'all' );
wp_register_style( 'jquery.fancybox', get_template_directory_uri() . '/js/libs/fancybox/jquery.fancybox-1.3.4.css', false, null, 'screen' );
// enqueing:
wp_enqueue_style( 'rm_styles' );
wp_enqueue_style( 'jquery.fancybox' );
}
add_action('wp_enqueue_scripts', 'rm_theme_styles',10);
cforms:
### some css for positioning the form elements
function cforms_style() {
global $wp_query, $cforms_root, $localversion, $cformsSettings;
### add content actions and filters
$page_obj = $wp_query->get_queried_object();
$exclude = ($cformsSettings['global']['cforms_inexclude']['ex']=='1');
$onPages = str_replace(' ','',stripslashes(htmlspecialchars( $cformsSettings['global']['cforms_inexclude']['ids'] )));
$onPagesA = explode(',', $onPages);
if( $onPages=='' || (in_array($page_obj->ID,$onPagesA) && !$exclude) || (!in_array($page_obj->ID,$onPagesA) && $exclude)){
if( $cformsSettings['global']['cforms_no_css']<>'1' )
echo '<link rel="stylesheet" type="text/css" href="' . $cforms_root . '/styling/' . $cformsSettings['global']['cforms_css'] . '" />'."\n";
### add jQuery script & calendar
if( $cformsSettings['global']['cforms_datepicker']=='1' ){
wp_enqueue_script('jquery',false,false,false,false);
wp_enqueue_script('jquery-ui-core',false,false,false,false);
wp_enqueue_script('jquery-ui-datepicker',false,false,false,false);
}
echo '<script type="text/javascript" src="' . $cforms_root. '/js/cforms.js"></script>'."\n";
}
}
}
add_filter('wp_head', 'cforms_style');
Notez que cForms est connecté à wp_head
et que vous essayez de vous connecter à wp_enqueue_scripts
. Le hook wp_enqueue_scripts
est déclenché inside le hook wp_head
(à la priorité 0
, IIRC).
Ainsi, votre feuille de style est mise en file d'attente à wp_head
, priorité 0
et la feuille de style cForms est mise en file d'attente à wp_head
, priorité 10
. Puisqu'il sort plus tard, il prime sur le vôtre.
La solution consiste à utiliser le même hook wp_head
, avec une priorité inférieure (c'est-à-dire un nombre supérieur à 10
) pour votre feuille de style.