Filtr dnia: style_loader_src – czyli zawsze* polskie znaki

Jak bumerang wraca temat polskich znaków w Google Fonts i tego że ich nie widać.

Gwiazdka w tytule oznacza pewne założenie. Otóż tym założeniem jest to, że dany krój pisma posiada polskie znaki diakrytyczne.

Jak dany krój nie posiada, to i tak nic nie pomoże.

Aby czcionka mogła wyświetlać musi być załadowany odpowiedni zestaw znaków, ten zestaw dla Polski nazywa się latin-ext.

Poniższy kod wykorzystuje filtr style_loader_src i dodaje odpowiednią definicję do każdej dodanej przez motyw czy wtyczkę czcionki google o ile ten krój został dodany za pomocą funkcji wp_enqueue_style. Jak kod dodany jest ręcznie … to nie pomoże. Wtedy trzeba się w kod pofatygować osobiście i dodać „&subset=latin,latin-ext”.

class iworks_subset_latin_extended
{
    public function __construct()
    {
        add_filter('style_loader_src', array($this,'style_loader_src'), 10, 2);
    }
 
    public function style_loader_src($src, $handle)
    {
        /**
         * check is google fonts url?
         */
        if ( !preg_match( '@fonts.googleapis.com/css@', $src ) ) {
            return $src;
        }
        $url = explode('?', $src);
        if ( sizeof($url) < 2 ) {
            return $src;
        }
        /**
         * parse arguments
         */
        $args = wp_parse_args($url[1]);
        /**
         * build subset array
         */
        $subset = array();
        if ( array_key_exists('subset', $args ) ) {
            $subset = explode(',', $args['subset']);
        }
        /**
         * add latin and latin-ext to subset
         */
        $subset[] = 'latin';
        $subset[] = 'latin-ext';
        /**
         * avoid duplicates
         */
        $args['subset'] = implode(',',array_unique($subset));
        /**
         * replace space to fiz add_query_arg
         */
        $args['family'] = preg_replace('/ +/', '+', $args['family']);
        return add_query_arg($args, $url[0]);
    }
}
 
new iworks_subset_latin_extended();

pobierz plik: iworks_subset_latin_extended.php.zip

Jak użyć podany kod?

Masz 3 rozwiązania:

  1. wrzuć załączony plik do folderu wp-content/plugins, a potem włącz wtyczkę
  2. wrzuć załączony plik do folderu wp-content/mu-plugins
  3. dołącz kod do pliku function.php aktualnie używanego motywu
cze 2014 25

WordUp Warszawa #3 – widget

Widzisz widget obok wpisu? Ile osób brakuje do 100? Może zainstalujesz u siebie? Choć ostrzegam, to nie takie proste, bo trzeba mieć aplikację na TwarzoKsiążce oraz poprawnie wpisać id wydarzenia. Dla WU WAW...

cze 2014 4

Filtr dnia: widget_tag_cloud_args

Jednym z domyślnych widgetów, jakie oferuje WordPress jest taki, który pozwala wyświetlić chmurę tagów. Domyślnie jest wyświetlane 45 tagów, co nie każdemu może odpowiadać. Do zmiany liczby wyświetlanych tagów należy użyć...

kwi 2014 10

WordUp Warszawa – kwiecień 2014

Zaparkowałem na Hożej 53 i się zgubiłem. Serio. Hoża 51 była obok, ale to jakaś enigma, bo żadnego lokalu nie widziałem. Jest piekarnia, punkt usług i mały sklep spożywczy. Zero knajpy. Musiałem...

sty 2014 29

Filtr dnia: the_title

Jeden z podstawowych filtrów w WordPressie używany do zmian wyświetlanego tytułu. Mimo swojej prostoty jest bardzo przyjemnym filtrem, który możemy wykorzystać w wielu miejscach. Na stronach czy wpisach...

sty 2014 24

WordPress 3.8.1 – poprawki i utrzymanie

Wczoraj w nocy została wydana nowa mała wersja WordPressa, którą prawdopodobnie już macie na swoich serwisach, bo pewnie zaktualizowało się samo. Szczęśliwie, udało się Wacławowi też odblokować polską wersję i jednocześnie...

sty 2014 7

Aktualizacja danych testowych do WordPressa

Najnowsze dane testowe theme-unit-test-data.xml (aktualizacja 6. stycznia 2014 16:36 UTC) Więcej o tym jak je wykorzystać: Testy motywu – skąd treść?

gru 2013 22

WordPress 3.8 – polskie tłumaczenie

Tłumaczenie wersji 3.8, jeszcze nieoficjalne. Zawiera następujące pliki: wp-content/languages/pl_PL.mo wp-content/languages/pl_PL.po wp-content/languages/themes/twentyfourteen-pl_PL.mo wp-content/languages/themes/twentyfourteen-pl_PL.po wp-content/languages/admin-network-pl_PL.mo wp-content/languages/admin-network-pl_PL.po wp-content/languages/admin-pl_PL.mo wp-content/languages/admin-pl_PL.po Ściągnij zipa i rozpakuj do swojej instalacji WordPressa.

gru 2013 11

WordPress: dodaj nofollow do wszystkich linków w treści

Drobny kawałek kodu, który nadaje wszystkim linkom w artykułach atrybut nofollow. add_filter( 'the_content', 'add_no_follow' ); function add_no_follow($content) { if ( preg_match_all( '/<a[^>]+>/', $content, $matches ) ) { foreach ( $matches[0]...

lis 2013 13

WordUp Łódź

Zapraszam do obejrzenia prezentacji Jakuba: Wtyczkowe 5-10-15 z WordUpa w Łodzi. Jakub mówił w niej między innymi o sierotkach, czyli wtyczce poprawiającej wiszące spójniki.