PHP
- 1 ответ
- 0 вопросов
0
Вклад в тег
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('Тестовый текст для примера');
// прописать в 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();