web-dev-qa-db-ja.com

Open SansをTwenty Twelveテーマから削除します。

Twenty Twelve v1.0用の子テーマを作成していますが、Open Sansフォントを削除したいです。

Open SansがTwenty Twelveのfunctions.phpに追加されました。

wp_enqueue_style( 'twentytwelve-fonts', add_query_arg( $query_args, "$protocol://fonts.googleapis.com/css" ), array(), null );

私はchildthemeのfunctions.phpでスタイルシートの登録解除/デキューを試みました(下記の例を参照)が、効果はありません。

function example_scripts_styles() {     
    wp_deregister_style( 'twentytwelve-fonts' );    
    wp_dequeue_style( 'twentytwelve-fonts' );
}
add_action( 'wp_enqueue_scripts', 'example_scripts_styles' );

どのように私はこのファイルを削除することができますか?ありがとうございます。

15
Mattvic

答えを見つけた ここ

スクリプトのデキュー呼び出しは、wp_print_scriptsアクションフック(..)に追加する必要があります。これは、スクリプトは通常wp_enqueue_scriptフックにエンキューされるためです。これは、wp_headプロセスの早い段階で行われます。 wp_print_scriptsフックはスクリプトが印刷される直前に発生するので、プロセスの最新のものです。 (オットー)

同じロジックに従って、Open Sansフォントを削除するためにwp_print_stylesを使用できます。

function remove_open_sans() {
   wp_dequeue_style( 'twentytwelve-fonts' );
}
add_action('wp_print_styles','remove_open_sans');

これでうまくいきました。

12
Mattvic

WP 3.8以降、 thetricksterの要旨 を使用して、フロントエンドスタイルから 'Open Sans'を正常に削除しました。

<?php
// Remove Open Sans that WP adds from frontend
if (!function_exists('remove_wp_open_sans')) :
    function remove_wp_open_sans() {
        wp_deregister_style( 'open-sans' );
        wp_register_style( 'open-sans', false );
    }
    add_action('wp_enqueue_scripts', 'remove_wp_open_sans');

    // Uncomment below to remove from admin
    // add_action('admin_enqueue_scripts', 'remove_wp_open_sans');
endif;
?>

'Open Sans'はプラグインに依存する可能性があります。

6
sglessard

Twenty Twelve v1.1のfunctions.phpでは、コメントはwp_enqueue_scriptsフックからスタイルシートを削除する方法を説明します。

function mytheme_dequeue_fonts() {
         wp_dequeue_style( 'twentytwelve-fonts' );
      }

add_action( 'wp_enqueue_scripts', 'mytheme_dequeue_fonts', 11 );

うまくいかなかったあなたの試みはadd_action()priorityパラメータ を欠いていました。親テーマはデフォルトの優先度10でスタイルをエンキューするので、子テーマは優先度11でスタイルをデキューする必要があります。

4
Rafi

あなたはWordPress自身がOpen Sans(少なくともバージョン3.8)もロードしていることに気付くでしょう。実際、Open Sansを私には3回ロードしていました。1つはWP admin用、もう1つはTinyMCEエディタ用、もう1つはページ用です。

Open Sansを完全に削除することを目標としている場合は、WordPress自体をハッキングする必要があります(または古いバージョンのままにします)。

Open Sansを削除するための私自身のコード(少なくともユーザーがログインしていないとき(ほとんどの場合))は、私のテーマのfunctions.phpです。

 add_action( 'wp_enqueue_scripts'、 'ays_setup'、9); 
 
 function ays_setup(){
 
/* no Sansフォントを開くTinyMCE */
 remove_filter( 'mce_css'、 'twentytwelve_mce_css'); 
 
/* noページのSansフォントを開く*/
 remove_action( 'wp_enqueue_scripts' 、 'twentytwelve_scripts_styles'); 
 add_action( 'wp_enqueue_scripts'、 'ays_scripts_styles'); 
} 
 
 function ays_scripts_styles(){
 global $ wp_styles; 
 
 /*
 *コメント付きのページをサポートするために、コメントフォームのあるページにJavaScriptを追加します(使用中の場合)。 ] */
 if(is_singular()&& comments_open()&& get_option( 'thread_comments'))
 wp_enqueue_script( 'comment-reply'); 
 
//ナビゲーションメニューの表示/非表示の動作を処理するためのJavaScriptを追加します。
 wp_enqueue_script( 'twentytwelve-navigation'、get_template_directory_uri()。 '/ js /navigation.js '、array()、' 1.0 '、true); 
 
 //メインのスタイルシートをロードします。
 wp_enqueue_style(' twentytwelve-style '、get_stylesheet_uri() ]; 
 
 // Internet Explorer固有のスタイルシートをロードします。
 wp_enqueue_style( 'twentytwelve-ie'、get_template_directory_uri()) '/css/ie.css'、配列( '20 12スタイル')、 '20121010'); 
 $ wp_styles-> add_data( '20 12  - すなわち'、 '条件付き'、 'lt IE 9 '); 
} 

twentytwelve_scripts_stylesには、Open Sansをロードするビットを除いて、すべてがtwentytwelve_scripts_stylesに含まれています。

3
Júlio Reis