스물 열두 테마에서 Open Sans 제거


16

Twenty Twelve v1.0의 하위 테마를 만들고 Open Sans 글꼴을 제거하고 싶습니다.

Open Sans는 Twenty Twelve´s 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' );

이 파일을 어떻게 제거 할 수 있습니까? 감사!

답변:


12

여기서 답을 찾았습니다 .

스크립트 큐 대기 호출은 wp_print_scripts 조치 후크 (..)에 추가되어야합니다. 스크립트는 일반적으로 wp_head 프로세스 초기에 발생하는 wp_enqueue_script 후크에 대기하기 때문입니다. wp_print_scripts 후크는 스크립트가 인쇄되기 직전에 발생하므로 프로세스에서 최신입니다. (장미유)

동일한 논리에 wp_print_styles따라 Open Sans 글꼴을 제거하는 데 사용할 수 있습니다 .

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

이 트릭을했다.


6

WP 3.8 이상에서 나는 트릭스터의 요지를 사용하여 프론트 엔드 스타일에서 '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'는 플러그인 의존성이 될 수 있습니다.


이것은 다른 주제로도 나를 위해 일했습니다. 내 아이 테마 기능에 떨어 뜨 렸습니다 ..... 나는 이것에 대해 매우 행복합니다. 저는 중국에 있습니다. 원치 않는 Google 전화는 작은 최적화가 아닙니다. Google 전화가 죽을 때까지 몇 분 동안 페이지가 응답하지 않습니다 . 이것은 나를 위해 거대하다 : -D
Mike M

아, 그리고 나는 플러그인에서 그것을 식별했다. 감사합니다, WP
Mike M

4

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(). 부모 테마는 기본 우선 순위가 10 인 스타일을 큐에 넣습니다. 따라서 자식 테마는 우선 순위가 11 인 큐를 해제해야합니다.


3

WordPress 자체도 Open Sans (최소 버전 3.8)를로드합니다. 실제로, 그것은 나를 위해 Open Sans를 세 번로드했습니다. 하나는 WP 관리자, 하나는 TinyMCE 편집기, 다른 하나는 페이지입니다.

목표가 Open Sans를 완전히 제거하는 경우 WordPress 자체를 해킹해야합니다 (또는 이전 버전을 유지해야 함).

Open Sans를 제거하는 내 코드는 (적어도 사용자가 로그인하지 않은 경우 대부분) 테마의 주제입니다 functions.php.

add_action ( 'wp_enqueue_scripts', 'ays_setup', 9);

함수 ays_setup () {

    / * TinyMCE에서 Open Sans 글꼴 없음 * /
    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');
}

함수 ays_scripts_styles () {
    글로벌 $ wp_styles;

    / *
     * 의견 양식이있는 페이지에 JavaScript를 추가하여 지원
     스레드 댓글이있는 사이트 (사용중인 경우)
     * /
    if (is_singular () && comments_open () && get_option ( 'thread_comments'))
        wp_enqueue_script ( 'comment-reply');

    // 탐색 메뉴 숨기기 및 표시 동작을 처리하기위한 JavaScript를 추가합니다.
    wp_enqueue_script ( 'twenty12-navigation', get_template_directory_uri (). '/js/navigation.js', array (), '1.0', true);

    // 기본 스타일 시트를로드합니다.
    wp_enqueue_style ( 'twenty12 스타일', get_stylesheet_uri ());

    // Internet Explorer 특정 스타일 시트를로드합니다.
    wp_enqueue_style ( 'twentytwelve-ie', get_template_directory_uri (). '/css/ie.css', array ( 'twentytwelve-style'), '20121010');
    $ wp_styles-> add_data ( 'twenty12-ie', '조건부', 'lt IE 9');
}

twentytwelve_scripts_stylestwentytwelve_scripts_stylesOpen Sans를로드하는 비트를 제외한 모든 것이 있습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.