it-roy-ru.com

Редактировать тему wp_head

Мой рендеринг wordpress в теге head содержит множество ненужных файлов сценариев или css, я попытался исправить это, отредактировав страницу head.php, но используемая тема (zerif) использует функцию wp_head для включения всех файлов сценариев.

Я попытался увидеть, где я могу редактировать вывод функции, я посмотрел документацию WordPress

Они сказали, что каждая тема определяет это с помощью do_action("wp_head").

Я искал это в своем коде темы, но ничего не нашел, так как я могу отредактировать это? Должен ли я жестко кодировать все без использования wp_head()?

3
Marox Tn

Вы можете удалить некоторые ссылки по умолчанию WP head с помощью remove_action(). Например:

// Removes the wlwmanifest link
remove_action( 'wp_head', 'wlwmanifest_link' );
// Removes the RSD link
remove_action( 'wp_head', 'rsd_link' );
// Removes the WP shortlink
remove_action( 'wp_head', 'wp_shortlink_wp_head', 10, 0 );
// Removes the canonical links
remove_action( 'wp_head', 'rel_canonical' );
// Removes the links to the extra feeds such as category feeds
remove_action( 'wp_head', 'feed_links_extra', 3 ); 
// Removes links to the general feeds: Post and Comment Feed
remove_action( 'wp_head', 'feed_links', 2 ); 
// Removes the index link
remove_action( 'wp_head', 'index_rel_link' ); 
// Removes the prev link
remove_action( 'wp_head', 'parent_post_rel_link' ); 
// Removes the start link
remove_action( 'wp_head', 'start_post_rel_link' ); 
// Removes the relational links for the posts adjacent to the current post
remove_action( 'wp_head', 'adjacent_posts_rel_link' );
remove_action( 'wp_head', 'adjacent_posts_rel_link_wp_head' );
// Removes the WordPress version i.e. -
remove_action( 'wp_head', 'wp_generator' );

Чтобы удалить поддержку Emoji (CSS и 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' );

Вы должны использовать их в своем файле functions.php.

Чтобы отредактировать файлы, поставленные в очередь вашей темой (нули), вам также потребуется отредактировать файл functions.php. Например, вы найдете что-то вроде этого:

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

Если вы не найдете его в своем functions.php, это связано с тем, что некоторые темы делят содержимое functions.php между несколькими файлами, обычно включаемыми в определенную папку с именем inc, include или framework. Это легко понять: эти файлы должны быть загружены в ваш functions.php. Например:

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 );
1
Gerard