• Как оптимизировать сайт на wordpress?

    Таймаутом подгружайте iframe к примеру через 3-4 секунды, до этого можно показывать картинку. Этого времени должно хватить, чтобы тестировщики завершили свои тесты, и выдавали хорошие показатели. Мы делали так погрузку скриптов, контент подгружался от действий пользователя (скролл, сдвиг курсора а области документа, клик, тач) либо через 3 секунды просто подгружался. Метод не очень, но у нас сайт полностью на аякс, поэтому решение было лучшим.
    Ответ написан
    Комментировать
  • Как собрать скрипт на PHP?

    function str_stairs($string = '') 
    {
        $chars = preg_split('//u', $string, NULL, PREG_SPLIT_NO_EMPTY);
        
        foreach($chars AS $k => $v) {     
            if ($k % 2)
                $str[] = mb_strtolower($v);
            else
                $str[] = mb_strtoupper($v);
        }    
    
        return implode('', $str);       
    }
    
    // Вывод 
    echo str_stairs('Тестовый текст для примера');
    Ответ написан
    Комментировать
  • Как реализовать пагинацию (постраничная навигация) без плагина, в wordpress?

    // прописать в functions.php 
    if (!function_exists('pagination')) { // если ф-я уже есть в дочерней теме - нам не надо её определять
    	function pagination() { // функция вывода пагинации
    		global $wp_query; // текущая выборка должна быть глобальной
    		$big = 999999999; // число для замены
        
        
    		$links = paginate_links(array( // вывод пагинации с опциями ниже
    			'base' => str_replace($big, '%#%', esc_url(get_pagenum_link($big))), // что заменяем в формате ниже
    			'format' => '?paged=%#%', // формат, %#% будет заменено
    			'current' => max(1, get_query_var('paged')), // текущая страница, 1, если $_GET['page'] не определено
    			'type' => 'array', // нам надо получить массив
    			'prev_text'    => 'Назад', // текст назад
    	    	'next_text'    => 'Вперед', // текст вперед
    			'total' => $wp_query->max_num_pages, // общие кол-во страниц в пагинации
    			'show_all'     => false, // не показывать ссылки на все страницы, иначе end_size и mid_size будут проигнорированны
    			'end_size'     => 4, //  сколько страниц показать в начале и конце списка (12 ... 4 ... 89)
    			'mid_size'     => 1, // сколько страниц показать вокруг текущей страницы (... 123 5 678 ...).
    			'add_args'     => false, // массив GET параметров для добавления в ссылку страницы
    			'add_fragment' => '',	// строка для добавления в конец ссылки на страницу
    			'before_page_number' => '', // строка перед цифрой
    			'after_page_number' => '' // строка после цифры
    		));
        
    	 	if( is_array( $links ) ) { // если пагинация есть
    		    echo '<ul class="pagination">';
    		    foreach ( $links as $link ) {
    		    	if ( strpos( $link, 'current' ) !== false ) echo "<li class='active'>$link</li>"; // если это активная страница
    		        else echo "<li>$link</li>"; 
    		    }
    		   	echo '</ul>';
    		 }
    	}
    }
    
    // вывод в шаблоне
    pagination();
    Ответ написан
    Комментировать