Editar wp_head del tema de WordPress

30 oct 2015, 12:41:12
Vistas: 20.6K
Votos: 4

Mi WordPress renderiza en la etiqueta head muchos scripts y archivos CSS innecesarios. Intenté arreglar esto editando mi archivo head.php, pero el tema que estaba usando (zerif) utiliza la función wp_head para incluir todos los archivos de scripts.

Intenté ver dónde podría editar la salida de la función y revisé la documentación de WordPress

Mencionan que cada tema especifica esto con do_action("wp_head").

Busqué eso en el código de mi tema pero no encontré nada, entonces ¿cómo puedo editarlo? ¿Debería codificar todo manualmente sin usar wp_head()?

0
Todas las respuestas a la pregunta 1
0

Puedes eliminar algunos enlaces predeterminados de WP en el head utilizando remove_action(). Por ejemplo:

// Elimina el enlace wlwmanifest
remove_action( 'wp_head', 'wlwmanifest_link' );
// Elimina el enlace RSD
remove_action( 'wp_head', 'rsd_link' );
// Elimina el shortlink de WP
remove_action( 'wp_head', 'wp_shortlink_wp_head', 10, 0 );
// Elimina los enlaces canónicos
remove_action( 'wp_head', 'rel_canonical' );
// Elimina los enlaces a feeds adicionales como los feeds de categoría
remove_action( 'wp_head', 'feed_links_extra', 3 ); 
// Elimina los enlaces a feeds generales: Feed de entradas y comentarios
remove_action( 'wp_head', 'feed_links', 2 ); 
// Elimina el enlace de índice
remove_action( 'wp_head', 'index_rel_link' ); 
// Elimina el enlace previo
remove_action( 'wp_head', 'parent_post_rel_link' ); 
// Elimina el enlace de inicio
remove_action( 'wp_head', 'start_post_rel_link' ); 
// Elimina los enlaces relacionales para las entradas adyacentes a la entrada actual
remove_action( 'wp_head', 'adjacent_posts_rel_link' );
remove_action( 'wp_head', 'adjacent_posts_rel_link_wp_head' );
// Elimina la versión de WordPress, es decir - 
remove_action( 'wp_head', 'wp_generator' );

Para eliminar el soporte de emojis (CSS y Javascript):

remove_action( 'wp_head', 'print_emoji_detection_script', 7 );
remove_action( 'admin_print_scripts', 'print_emoji_detection_script' );
remove_action( 'wp_print_styles', 'print_emoji_styles' );
remove_action( 'admin_print_styles', 'print_emoji_styles' );

Debes utilizarlos en tu archivo functions.php.

Para editar los archivos encolados por tu tema (zerif) necesitarás editar también el archivo functions.php. Por ejemplo, encontrarás algo como esto:

wp_enqueue_style( 'style', get_stylesheet_uri() );
wp_enqueue_style( 'shortcodes', get_template_directory_uri() . '/css/shortcodes.css' );
wp_enqueue_style( 'font-awesome', get_template_directory_uri() . '/css/font-awesome.css' );
wp_enqueue_script( 'jquery' );

Si no lo encuentras en tu functions.php, es porque algunos temas dividen el contenido de functions.php en varios archivos, normalmente incluidos en una carpeta específica con el nombre inc, include o framework. Eso es fácil de saber: estos archivos deben cargarse en tu functions.php. Por ejemplo:

locate_template( 'inc/widgets.php', true, true );
locate_template( 'inc/sidebars.php', true, true );
locate_template( 'inc/breadcrumbs.php', true, true );
locate_template( 'inc/whatever.php', true, true );
30 oct 2015 14:12:54