从二十一二主题中删除开放无人

时间:2012-09-28 作者:Mattvic

我正在为《二十一世纪》v1创建一个儿童主题。0,我想删除Open Sans字体。

开放式SAN添加到了212的函数中。php:

wp_enqueue_style( \'twentytwelve-fonts\', add_query_arg( $query_args, "$protocol://fonts.googleapis.com/css" ), array(), null );
我已经尝试在我的childtheme函数中取消注册/退出样式表。php(见下面的示例),但没有效果:

function example_scripts_styles() {     
    wp_deregister_style( \'twentytwelve-fonts\' );    
    wp_dequeue_style( \'twentytwelve-fonts\' );
}
add_action( \'wp_enqueue_scripts\', \'example_scripts_styles\' );
有没有办法删除这个文件?谢谢

4 个回复
最合适的回答,由SO网友:Mattvic 整理而成

找到了答案here:

脚本出列调用应添加到wp\\u print\\u scripts操作挂钩(..)。这是因为脚本通常在wp\\u enqueue\\u脚本挂钩上排队,这发生在wp\\u head进程的早期。wp\\u print\\u scripts钩子发生在脚本打印之前,因此是该过程中最新的一个钩子。(奥托)

遵循相同的逻辑,我们可以使用wp_print_styles 要删除Open SAN字体,请执行以下操作:

function remove_open_sans() {
   wp_dequeue_style( \'twentytwelve-fonts\' );
}
add_action(\'wp_print_styles\',\'remove_open_sans\');
这就成功了。

SO网友:sglessard

在WP 3.8+,我成功地从我的前端样式中删除了“Open SAN”thetrickster\'s gist:

<?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;
?>
“开放SAN”可以是插件依赖性。

SO网友:Rafi

在函数中。php第十二版。1,注释解释了如何从wp_enqueue_scripts 挂钩:

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

add_action( \'wp_enqueue_scripts\', \'mytheme_dequeue_fonts\', 11 );
你没有成功的尝试错过了priority parameteradd_action(). 父主题以默认优先级10将样式排入队列,因此子主题必须以优先级11将其移出队列。

SO网友:Júlio Reis

您会发现WordPress本身也加载开放SAN(至少3.8版)。事实上,它为我加载了三次Open SAN:一次用于WP管理员,一次用于TinyMCE编辑器,另一次用于页面。

如果您的目标是完全删除开放SAN,那么您必须对WordPress本身进行黑客攻击(或者使用旧版本)。

我自己删除开放SAN的代码(至少在用户未登录时,大多数情况下是这样)是我的主题代码functions.php:

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

function ays_setup() {

    /* no Open Sans font in TinyMCE */
    remove_filter( \'mce_css\', \'twentytwelve_mce_css\' );

    /* no Open Sans font for the page */
    remove_action( \'wp_enqueue_scripts\', \'twentytwelve_scripts_styles\' );
    add_action( \'wp_enqueue_scripts\', \'ays_scripts_styles\' );
}

function ays_scripts_styles() {
    global $wp_styles;

    /*
     * Adds JavaScript to pages with the comment form to support
     * sites with threaded comments (when in use).
     */
    if ( is_singular() && comments_open() && get_option( \'thread_comments\' ) )
        wp_enqueue_script( \'comment-reply\' );

    // Adds JavaScript for handling the navigation menu hide-and-show behavior.
    wp_enqueue_script( \'twentytwelve-navigation\', get_template_directory_uri() . \'/js/navigation.js\', array(), \'1.0\', true );

    // Loads our main stylesheet.
    wp_enqueue_style( \'twentytwelve-style\', get_stylesheet_uri() );

    // Loads the Internet Explorer specific stylesheet.
    wp_enqueue_style( \'twentytwelve-ie\', get_template_directory_uri() . \'/css/ie.css\', array( \'twentytwelve-style\' ), \'20121010\' );
    $wp_styles->add_data( \'twentytwelve-ie\', \'conditional\', \'lt IE 9\' );
}
twentytwelve_scripts_styles 一切都准备好了twentytwelve_scripts_styles 除了加载开放SAN的位。

结束