Wordpress主题开发和Google Font API

时间:2018-06-13 19:04:21

标签: php css wordpress

我正在开发一个主题,我得到了一大堆代码,可以下载谷歌字体。下拉工作正常,但我的问题是,我似乎可以使它在我的CSS中工作。

function ounox_fonts_setup($wp_customize) {

    $url = 'https://www.googleapis.com/webfonts/v1/webfonts?key=AIzaSyDwe8tl4YMbg8asbjzbXDDFuxzR1Wm9EQ0';
    $response = wp_remote_get( 'http://www.googleapis.com/webfonts/v1/webfonts?key=AIzaSyDwe8tl4YMbg8asbjzbXDDFuxzR1Wm9EQ0', array( 'sslverify' => true ) );
    $response = wp_remote_retrieve_body( wp_remote_get($url, array('sslverify' => false )));

    if( is_wp_error( $response ) ) {
    echo 'Something went wrong!';
    } else {

        $json_a = json_decode($response,  true);
        $font_items = $json_a['items'];
        $choices = array();

        foreach ($font_items as $font_value => $font_item) {
            $choices[$font_item['family']] = $font_item['family'].' (Google)';
        }

        $font_args = array(
            'label'     => 'Fonts Section',
            'section'   => 'ounox_fonts_section',
            'settings'  => 'ounox_fonts_display',
            'type'      => 'select',
            'choices'   => $choices
        );
    } 

    $wp_customize->add_section( 'ounox_fonts_section', array(
        'title' => 'Ounox Fonts'
    ));

    $wp_customize->add_setting( 'ounox_fonts_display', array(
        'transport' => 'refresh',
    ));

     $wp_customize->add_control( new WP_Customize_Control( $wp_customize, 'ounox_fonts_display_control', $font_args));

}
add_action( 'customize_register','ounox_fonts_setup' );

这也适用于我的主题。

function ounox_customize_css() { ?>

    <style type="text/css">
html, body {
            font-family: <?php echo get_theme_mod('ounox_fonts_display'); ?>;
        }
    </style>

<?php }
add_action('wp_head', 'ounox_customize_css');

如何应用所选的用户字体以应用于CSS?抱歉,后端的东西非常糟糕。

1 个答案:

答案 0 :(得分:1)

在functions.php中添加以下功能

function calling_google_font_script(){
     // Getting the set font from options.
     $temp_font_name = get_theme_mod('ounox_fonts_display');
     // Adding Font in Google URL
     $google_font = esc_url('https://fonts.googleapis.com/css?family=' . $temp_font_name);
     // Now Calling google font in website
     wp_enqueue_style( 'google-fonts', esc_url_raw($google_font), array(), null );
}

add_action('wp_enqueue_scripts','calling_google_font_script');