<?php
/**
* Функции шаблона (function.php)
* @package WordPress
* @subpackage your-clean-template
*/
function typical_title() { // функция вывода тайтла
global $page, $paged; // переменные пагинации должны быть глобыльными
wp_title('|', true, 'right'); // вывод стандартного заголовка с разделителем "|"
//bloginfo('name'); // вывод названия сайта
$site_description = get_bloginfo('description', 'display'); // получаем описание сайта
if ($site_description && (is_home() || is_front_page())) //если описание сайта есть и мы на главной
echo " | $site_description"; // выводим описание сайта с "|" разделителем
if ($paged >= 2 || $page >= 2) // если пагинация была использована
echo ' | '.sprintf(__( 'Страница %s'), max($paged, $page)); // покажем номер страницы с "|" разделителем
}
register_nav_menus(array( // Регистрируем 2 меню
'top' => 'Верхнее', // Верхнее
'bottom' => 'Внизу', // Внизу
'orange-menu' => 'Меню на оранжевой полоске'
));
add_theme_support('post-thumbnails'); // включаем поддержку миниатюр
set_post_thumbnail_size(300, 200); // задаем размер миниатюрам 250x150
add_image_size('big-thumb', 400, 400, true); // добавляем еще один размер картинкам 400x400 с обрезкой
register_sidebar(array( // регистрируем левую колонку, этот кусок можно повторять для добавления новых областей для виджитов
'name' => 'Колонка слева', // Название в админке
'id' => "left-sidebar", // идентификатор для вызова в шаблонах
'description' => 'Обычная колонка в сайдбаре', // Описалово в админке
'before_widget' => '', // разметка до вывода каждого виджета
'after_widget' => "\n", // разметка после вывода каждого виджета
'before_title' => '', // разметка до вывода заголовка виджета
'after_title' => "\n", // разметка после вывода заголовка виджета
));
class clean_comments_constructor extends Walker_Comment { // класс, который собирает всю структуру комментов
public function start_lvl( &$output, $depth = 0, $args = array()) { // что выводим перед дочерними комментариями
$output .= '
' . "\n";
}
public function end_lvl( &$output, $depth = 0, $args = array()) { // что выводим после дочерних комментариев
$output .= "
\n";
}
protected function comment( $comment, $depth, $args ) { // разметка каждого комментария, без закрывающего !
$classes = implode(' ', get_comment_class()).($comment->comment_author_email == get_the_author_meta('email') ? ' author-comment' : ''); // берем стандартные классы комментария и если коммент пренадлежит автору поста добавляем класс author-comment
echo ''."\n"; // родительский тэг комментария с классами выше и уникальным id
echo ''."\n"; // элемент с таким id нужен для якорных ссылок на коммент
echo get_avatar($comment, 64)."\n"; // покажем аватар с размером 64х64
echo 'Автор: '.get_comment_author()."\n"; // имя автора коммента
echo ' '.get_comment_author_email(); // email автора коммента
echo ' '.get_comment_author_url(); // url автора коммента
echo ' Добавлено '.get_comment_date('F j, Y').' в '.get_comment_time()."\n"; // дата и время комментирования
if ( '0' == $comment->comment_approved ) echo 'Ваш комментарий будет опубликован после проверки модератором.'."\n"; // если комментарий должен пройти проверку
comment_text()."\n"; // текст коммента
$reply_link_args = array( // опции ссылки "ответить"
'depth' => $depth, // текущая вложенность
'reply_text' => 'Ответить', // текст
'login_text' => 'Вы должны быть залогинены' // текст если юзер должен залогинеться
);
echo get_comment_reply_link(array_merge($args, $reply_link_args)); // выводим ссылку ответить
echo ''."\n"; // закрываем див
}
public function end_el( &$output, $comment, $depth = 0, $args = array() ) { // конец каждого коммента
$output .= "\n";
}
function pagination() { // функция вывода пагинации
global $wp_query; // текущая выборка должна быть глобальной
$big = 999999999; // число для замены
echo 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' => 'list', // ссылки в ul
'prev_text' => 'Назад', // текст назад
'next_text' => 'Вперед', // текст вперед
'total' => $wp_query->max_num_pages, // общие кол-во страниц в пагинации
'show_all' => false, // не показывать ссылки на все страницы, иначе end_size и mid_size будут проигнорированны
'end_size' => 15, // сколько страниц показать в начале и конце списка (12 ... 4 ... 89)
'mid_size' => 15, // сколько страниц показать вокруг текущей страницы (... 123 5 678 ...).
'add_args' => false, // массив GET параметров для добавления в ссылку страницы
'add_fragment' => '', // строка для добавления в конец ссылки на страницу
'before_page_number' => '', // строка перед цифрой
'after_page_number' => '' // строка после цифры
));
}
?>
теперь должно заработать