¿Cómo eliminar archivo CSS en el encabezado usando funciones de WordPress?
Quiero eliminar un CSS que se carga en el encabezado, este es el código que aparece:
<link rel='stylesheet' id='my-css' href='http://test.tld/wp-content/themes/mytheme/my.css?ver=3.5' type='text/css' media='all' />
Intenté usar estas funciones pero no funcionó:
wp_dequeue_style('my-css');
wp_deregister_style('my-css');
¿Hay otras formas de eliminar la línea CSS anterior sin editar manualmente la plantilla?
Gracias.

Si tu hoja de estilos está registrada y encolada correctamente, entonces...
function dequeue_my_css() {
wp_dequeue_style('my-css');
wp_deregister_style('my-css');
}
add_action('wp_enqueue_scripts','dequeue_my_css');
// añade una prioridad si lo necesitas
// add_action('wp_enqueue_scripts','dequeue_my_css',100);
... debería eliminarla. Esto solo funciona si la hoja de estilos fue registrada y/o encolada con wp_register_style
y wp_enqueue_style
.
Si no está registrada correctamente, entonces tendrás que averiguar qué hizo tu tema y deshacerlo. Puede requerir editar la plantilla, dependiendo de cómo esté escrito el tema.
http://codex.wordpress.org/Function_Reference/wp_dequeue_style
http://codex.wordpress.org/Function_Reference/wp_deregister_style

Desregistrar/Eliminar estilos es una buena práctica
https://codex.wordpress.org/Function_Reference/wp_deregister_style https://codex.wordpress.org/Function_Reference/wp_dequeue_style
Pero también puedes usar este filtro para filtrar estilos con cualquier condición:
add_filter( 'style_loader_src', function($href){
if(strpos($href, "name-of-allowed.css") !== false) {
return $href;
}
return false;
});
