Modificare wp_head del tema WordPress

30 ott 2015, 12:41:12
Visualizzazioni: 20.6K
Voti: 4

Il mio WordPress inserisce nel tag head molti script e file CSS non necessari. Ho provato a risolvere questo modificando il file head.php, ma il tema che stavo utilizzando (zerif) usa la funzione wp_head per includere tutti i file degli script.

Ho cercato di capire dove poter modificare l'output della funzione consultando la documentazione di WordPress.

Nella documentazione si dice che ogni tema specifica questo con do_action("wp_head").

Ho cercato questa stringa nel codice del mio tema ma non ho trovato nulla, quindi come posso modificarla? Dovrei codificare tutto manualmente senza usare wp_head()?

0
Tutte le risposte alla domanda 1
0

Puoi rimuovere alcuni link predefiniti di WP nell'elemento head utilizzando remove_action(). Ad esempio:

// Rimuove il link wlwmanifest
remove_action( 'wp_head', 'wlwmanifest_link' );
// Rimuove il link RSD
remove_action( 'wp_head', 'rsd_link' );
// Rimuove il shortlink di WP
remove_action( 'wp_head', 'wp_shortlink_wp_head', 10, 0 );
// Rimuove i link canonici
remove_action( 'wp_head', 'rel_canonical' );
// Rimuove i link ai feed extra come i feed delle categorie
remove_action( 'wp_head', 'feed_links_extra', 3 ); 
// Rimuove i link ai feed generali: Feed degli articoli e dei commenti
remove_action( 'wp_head', 'feed_links', 2 ); 
// Rimuove il link all'indice
remove_action( 'wp_head', 'index_rel_link' ); 
// Rimuove il link prev
remove_action( 'wp_head', 'parent_post_rel_link' ); 
// Rimuove il link start
remove_action( 'wp_head', 'start_post_rel_link' ); 
// Rimuove i link relazionali per gli articoli adiacenti a quello corrente
remove_action( 'wp_head', 'adjacent_posts_rel_link' );
remove_action( 'wp_head', 'adjacent_posts_rel_link_wp_head' );
// Rimuove la versione di WordPress (es. -)
remove_action( 'wp_head', 'wp_generator' );

Per rimuovere il supporto agli emoji (CSS e 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' );

Devi utilizzarli nel tuo file functions.php.

Per modificare i file caricati dal tuo tema (zerif) dovrai modificare anche il file functions.php. Ad esempio, troverai qualcosa come questo:

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' );

Se non lo trovi nel tuo functions.php, è perché alcuni temi dividono il contenuto di functions.php in più file, solitamente inclusi in una cartella specifica con il nome inc, include o framework. È facile da capire: questi file devono essere caricati nel tuo functions.php. Ad esempio:

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 ott 2015 14:12:54