web-dev-qa-db-ja.com

テーマを編集

私のwordpressは不要なスクリプトやcssファイルをヘッドタグでレンダリングします。私はhead.phpページを編集することによってこれを修正しようとしましたが、私が使用していたテーマ(zerif)はすべてのスクリプトファイルを含めるためにwp_head関数を使用します。

私はワードプレスのドキュメントを見て私は私が関数の出力を編集することができる場所を見ようとしました

彼らはすべてのテーマはこれをdo_action("wp_head")で指定すると言っていました。

テーマコードでそれを検索しましたが、何も見つからなかったので、どうすればこれを編集できますか。 wp_head()を使わずにすべてをハードコーディングするべきですか?

3
Marox Tn

remove_action()を使用すると、headのデフォルトのWPリンクを削除できます。例えば:

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

絵文字のサポート(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ファイルの中で使わなければなりません。

あなたのテーマによってエンキューされたファイル(zerif)を編集するためには、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の内容が複数のファイルに分割されているため、通常はincincludeまたは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