• Как ускорить скорость загрузки сайта, метрика и движовосайт тянут вниз?

    HeadOnFire
    @HeadOnFire
    PHP, Laravel & WordPress Evangelist
    Отложить загрузку на 5 секунд - выход, но грубоватый (имхо конечно). Я делаю по-другому - оборачиваю код в скролл-ивент + задержка в 1 секунду. То есть, сайт загрузился быстро, и как только пользователь начал скроллить хоть чуть-чуть - секундный таймаут и загрузка дополнительных ресурсов. Гугл доволен, пользователи вообще не замечают задержки:

    var fired = false;
    
    window.addEventListener('scroll', () => {
        if (fired === false) {
            fired = true;
            
            setTimeout(() => {
                // Здесь все эти тормознутые трекеры, чаты и прочая ересь,
                // без которой жить не может отдел маркетинга, и которые
                // дико бесят разработчиков, когда тот же маркетинг приходит
                // с вопросом "почему сайт медленно грузится, нам гугл сказал"
            }, 1000)
        }
    });
    Ответ написан
    29 комментариев
  • Wordpress, как создать свой переключатель языков Polylang?

    HeadOnFire
    @HeadOnFire
    PHP, Laravel & WordPress Evangelist
    Из документации:
    $args = array(
    	'dropdown'               => 0, // displays a list if set to 0, a dropdown list if set to 1 (default: 0)
    	'show_names'             => 1, // displays language names if set to 1 (default: 1)
    	'display_names_as'       => 'name', // either ‘name’ or ‘slug’ (default: ‘name’)
    	'show_flags'             => 1, // displays flags if set to 1 (default: 0)
    	'hide_if_empty'          => 1, // hides languages with no posts (or pages) if set to 1 (default: 1)
    	'force_home'             => 0, // forces link to homepage if set to 1 (default: 0)
    	'echo'                   => 1, // echoes if set to 1, returns a string if set to 0 (default: 1)
    	'hide_if_no_translation' => 1, // hides the language if no translation exists if set to 1 (default: 0)
    	'hide_current'           => 0, // hides the current language if set to 1 (default: 0)
    	'post_id'                => null, // if set, displays links to translations of the post (or page) defined by post_id (default: null)
    	'raw'                    => 0, // use this to create your own custom language switcher (default:0)
    );
    pll_the_languages( $args );

    Должно быть все понятно. Можно сделать что угодно.
    Ответ написан
    3 комментария