将具有多种粗细和样式的多种Google字体排入队列(斜体)

时间:2016-02-11 作者:elarson

我正在尝试将多个具有多个权重(400600700等)和样式(普通、斜体)的Google字体排队,但我不明白为什么它不起作用。

这是我在函数中使用的代码。php:

function load_fonts() {
wp_register_style(\'googleFonts\', \'http://fonts.googleapis.com/css?family=Dosis:400,600,700|Roboto:400,400italic,700,700italic\');
wp_enqueue_style( \'googleFonts\');
}
add_action(\'wp_print_styles\', \'load_fonts\');
这是正在源中输出的链接:

<link rel=\'stylesheet\' id=\'googleFonts-css\'  href=\'http://fonts.googleapis.com/css?family=+Dosis%3A400%2C600%2C700%7CRoboto%3A400%2C400italic%2C700%2C700italic&#038;ver=4.4.2\' type=\'text/css\' media=\'all\' />
我在BrowsserStack测试了IOS设备,并在iPhone上使用WhatFont浏览器扩展和Safari的WhatFont扩展(运行良好)。它显示了使用回退字体系列Arial。我意识到这与服务器有关(廉价的共享托管计划——啊!)。我不太确定,但我感谢大家的意见

有什么想法吗?

5 个回复
SO网友:Rubel Hossain

以Wordpress标准方式添加多个Google字体

 function adding_theme_css_js(){

    wp_enqueue_style("adding-google-fonts", all_google_fonts());

 }

 add_action("wp_enqueue_scripts","adding_theme_css_js");



 function all_google_fonts() {

    $fonts = array(

           "Open+Sans:400,300",
           "Raleway:400,600"

        );

    $fonts_collection = add_query_arg(array(

        "family"=>urlencode(implode("|",$fonts)),

        "subset"=>"latin"

        ),\'https://fonts.googleapis.com/css\');

    return $fonts_collection;
 }

SO网友:Nicolai Grossherr

默认主题TwentyXXXX的操作有点像这样:

add_action( \'wp_enqueue_scripts\', \'wpse217390_enqueue_google_fonts\' );
function wpse217390_enqueue_google_fonts() {

 $query_args = array(
   \'family\' => \'Dosis:400,600,700|Roboto:400,400italic,700,700italic\'
 );

 wp_register_style( 
   \'google-fonts\', 
   add_query_arg( $query_args, \'//fonts.googleapis.com/css\' ), 
   array(), 
   null 
 );
 wp_enqueue_style( \'google-fonts\' );

}

SO网友:thetwopct

根据鲁贝尔·侯赛因(RubelHossains)的上述回答,整理好的/有效的答案。。。。将此添加到函数。php并使用所需的字体名称和权重进行更新。

    // Enqueue the fonts
    function add_fonts_to_theme(){
        wp_enqueue_style("adding-google-fonts", all_google_fonts());
     }
     add_action("wp_enqueue_scripts","add_fonts_to_theme");

    // Choose the fonts 
    function all_google_fonts() {
        $fonts = array(
               "Open+Sans:400,700",
               "Caveat:400,700",
               "Quicksand:400,700"
            );
        $fonts_collection = add_query_arg(array(
            "family"=>urlencode(implode("|",$fonts)),
            "subset"=>"latin"
            ),\'https://fonts.googleapis.com/css\');
        return $fonts_collection;
     }

SO网友:Cedon

更有效的方法是使用Google Webfonts Helper 应用程序。您可以选择所需的字体,然后选择权重/样式。然后它将生成CSS和。zip文件供您下载并制作这些本地字体,然后您可以自己提供这些字体。这样,您就不必依赖谷歌的服务器,也不必处理奇怪的URL。

如果您计划将主题提交给WordPress,以便在其主题存储库中托管,这一点尤为重要,因为如果您的主题依赖于通过CDN/等加载的资产,则主题将被拒绝。仅在没有任何本地回退的情况下。

SO网友:Patryk Padus

简单添加到末尾, array(), null 就像这样:

function load_fonts() {
wp_register_style(
    \'googleFonts\', 
    \'http://fonts.googleapis.com/css?family=Dosis:400,600,700|Roboto:400,400italic,700,700italic\', 
    array(), 
    null
);
wp_enqueue_style( \'googleFonts\');
}
add_action(\'wp_print_styles\', \'load_fonts\');
此解决方案在末尾添加版本。