luke2022
Verfasste Forenbeiträge
Ansicht von 1 Antwort (von insgesamt 1)
-
Forum: Themes
Als Antwort auf: CTravel Adven Lite: Google Fonts lokal einbindenDie Google Fonts werden wohl auch nicht vom Theme eingebunden, sondern von einem der Plugins.
Danke für den Tipp! Genau das war’s. Das Plugin WP Megamenu bindet in der Datei classes/class.wp-megamenu-css mit folgender Funktion die Google-Fonts ein:
public function before_header(){ global $wpdb; $wpmm_css_args = array('post_type' => 'wpmm_theme'); $wpmm_css_query = new WP_Query( $wpmm_css_args ); $loadable_fonts = array(); if ($wpmm_css_query->have_posts()){ while ($wpmm_css_query->have_posts()) { $wpmm_css_query->the_post(); $theme = maybe_unserialize(get_the_content()); //dropdown_submenu_item_text_font if ( ! empty($theme['top_level_item_text_font'])){ $loadable_fonts[strtolower( str_replace( ' ', '-', urldecode( $theme['top_level_item_text_font'] ) ) )] = $theme['top_level_item_text_font']; } if ( ! empty($theme['dropdown_submenu_item_text_font'])){ $loadable_fonts[strtolower( str_replace( ' ', '-', urldecode( $theme['dropdown_submenu_item_text_font'] ) ) )] = $theme['dropdown_submenu_item_text_font']; } if ( ! empty($theme['cta_btn_font'])){ $loadable_fonts[strtolower( str_replace( ' ', '-', urldecode( $theme['cta_btn_font'] ) ) )] = $theme['cta_btn_font']; } } wp_reset_query(); } //Check if there any Item Logo sets Google Font $menu_layout_query = $wpdb->get_results("select * from {$wpdb->postmeta} WHERE meta_key = 'wpmm_layout' "); if ( ! empty($menu_layout_query) ) { foreach ( $menu_layout_query as $layout ) { $layout_unserialize = maybe_unserialize( $layout->meta_value ); $mo = ! empty( $layout_unserialize['options'] ) ? $layout_unserialize['options'] : array(); if (! empty($mo['item_logo_type']) && $mo['item_logo_type'] === 'text' && ! empty( $mo['text_logo_google_font']) ) { if ( ! empty( $mo['text_logo_google_font'] ) ) { $loadable_fonts[strtolower( str_replace( ' ', '-', urldecode( $mo['text_logo_google_font'] ) ) )] = $mo['text_logo_google_font']; } } } } if ( ! empty($loadable_fonts)){ foreach ($loadable_fonts as $key => $family){ $uri = '//fonts.googleapis.com/css?family='; $params = urldecode( $family ); $params = str_replace( ' ', '+', $params ); $params2 = ':'; foreach (wpmm_get_google_font_weights($family) as $font_style) { $params2.= $font_style.','; } $params2 = rtrim($params2 , ','); wp_enqueue_style( $key, $uri.$params.$params2, false, WPMM_VER ); } } }
Leider musste ich gerade feststellen, dass ich jetzt zwar weiß wo es herkommt, aber keine Ahnung habe, wie ich es wegkriege (sprich die Fonts lokal einbinde). Einfach die Funktion in die functions.php kopieren und den Pfad anpassen geht schon mal nicht. 😐 Wäre ja auch zu einfach gewesen…
Kann mir bitte jemand mit mehr Programmierkenntnis helfen?Grüße, Luke
Ansicht von 1 Antwort (von insgesamt 1)