Eliminar CSS y JS específicos de la cabeza

2

Estoy intentando eliminar algunas líneas específicas de WP_HEAD. Ahora mi encabezado se ve de la siguiente manera:

<link rel='stylesheet' id='bootstrap-css'  href='/themes/wp-e/css/bootstrap.css?ver=4.2.2' type='text/css' media='all' />
<link rel='stylesheet' id='bootstrap-responsive-css'  href='/themes/wp-e/css/bootstrap-responsive.css?ver=4.2.2' type='text/css' media='all' />
<link rel='stylesheet' id='style-css'  href='/themes/wp-e/style.css?ver=4.2.2' type='text/css' media='all' />
<link rel='stylesheet' id='prettyPhoto-css-css'  href='/themes/wp-e/css/prettyphoto.css?ver=4.2.2' type='text/css' media='all' />
<link rel='stylesheet' id='custom-options-css'  href='/themes/wp-e/css/options.css?ver=4.2.2' type='text/css' media='all' />
<link rel='stylesheet' id='oswald_google-fonts-css'  href='http://fonts.googleapis.com/css?family=Oswald%3A400%2C300%2C700&#038;subset=latin%2Clatin-ext&#038;ver=4.2.2' type='text/css' media='screen' />
<link rel='stylesheet' id='thumbs_rating_styles-css'  href='/plugins/rating/css/style.css?ver=1.0.0' type='text/css' media='all' />

<script type='text/javascript' src='/js/jquery/jquery.js?ver=1.11.2'></script>
<script type='text/javascript' src='/js/jquery/jquery-migrate.min.js?ver=1.2.1'></script>
<script type='text/javascript' src='/plugins/q2w3-fixed-widget/js/q2w3-fixed-widget.min.js?ver=4.0.6'></script>
<script type='text/javascript' src='/plugins/rating/js/general.js?ver=4.0.1'></script>

Necesito eliminar todo esto, pero no soy bueno en la codificación y todo lo que sé es que tengo que poner el

remove_action( 'wp_head', '???' );

Pero no tengo idea de qué poner en lugar de ??? .

    
pregunta IVO 06.01.2016 - 16:17

1 respuesta

4

Cuando miras las etiquetas <style|script> en tu cabeza, notarás el atributo id allí. Ejemplo:

id='bootstrap-css'

Esto, en la mayoría de los casos, fue agregado por una función enganchada a wp_enqueue_scripts , wp_enqueue_styles o wp_register_scripts o wp_register_styles hook. En el peor de los casos, se enganchó al wp_head o al wp_print_scripts hook.

En el proceso de retroceder esas llamadas que agregan las etiquetas <script|style> , deberías poder ver lo que se adjunta utilizando algo como lo siguiente desde un pequeño complemento o tu functions.php en un tema o tema infantil:

// See if those scripts/styles were added using the Dependency API
// Search the output for the 'id' you can see rendered in the DOM
printf( 
    '<pre>%s</pre>', 
    var_export( $GLOBALS['wp_scripts']->registered, TRUE )
);

Si puede encontrar el script / estilo en la salida anterior, entonces sabe que el activo se registró correctamente (y, por lo tanto, está disponible para optimización u otro manejo con complementos que utilizan la API de WordPress).

En caso de que fuera cierto, puedes buscar los activos:

foreach( [
    'wp_enqueue_scripts',
    'wp_print_scripts',
    'wp_head',
] as $action )
    printf( 
        '<h1><code>%1$s</code></h1><pre>%1$s</pre>', 
        var_export( $GLOBALS['wp_filters'][ $action ], TRUE )
    );

Obtendrá impresos tres "bloques" de información. Cada una contendrá una matriz de devoluciones de llamada que se adjuntan al enlace específico en la matriz. Luego puede buscarlos utilizando una búsqueda cruzada de archivos sobre sus temas y complementos para encontrar el origen de sus activos. Luego, anule el registro las acciones de las que desea deshacerse.

    
respondido por el kaiser 06.01.2016 - 18:29

Lea otras preguntas en las etiquetas