Файл functions.php должен находится в корне вашей темы WordPress. Если вы создаёте тему для Вордпресса, то понимаете, что почти в каждом шаблоне функции повторяются, например в теме есть стандартные элементы, которые нужно подключить. Здесь вы сможете скачать/скопировать файл о всеми необходимыми функциями, и изменить его по своему усмотрению. Говоря практическим языком нужно просто некоторые фрагменты удалить или закомментировать если они окажутся бесполезными. Файл может изменятся со временем по-этому следите за обновлениями подписавшись на наши новости.
Список функций для файла functions.php:
- Подключение меню или несколько
- Подключение скриптов и стилей для правильного вывода
- Регистрация поддержки миниатюр
- Регистрация сайдбара
- Функция обрезки текста для анонса
<?php
//Подключение скриптов и стилей к теме
function theme_scripts() {
wp_enqueue_script( 'jquery');
// wp_enqueue_script( $handle, $src, $deps, $ver, $in_footer );
}
add_action( 'wp_enqueue_scripts', 'theme_scripts' );
//Добавляем поддержку темой важных элементов сайта
function custom_theme_setup() {
// Поддержка миниатюр
add_theme_support( 'post-thumbnails' );
// Регистрируем меню
register_nav_menus( array(
'header_menu' => 'Меню в шапке',
) );
}
add_action( 'after_setup_theme', 'custom_theme_setup' );
//Регистрируем сайдбар
function true_register_wp_sidebars() {
/* В боковой колонке - первый сайдбар */
register_sidebar(
array(
'id' => 'true_side', // уникальный id
'name' => 'Боковая колонка', // название сайдбара
'description' => 'Перетащите сюда виджеты, чтобы добавить их в сайдбар.', // описание
'before_widget' => '<div id="%1$s" class="side widget %2$s">', // по умолчанию виджеты выводятся <li>-списком
'after_widget' => '</div>',
'before_title' => '<h3 class="widget-title">', // по умолчанию заголовки виджетов в <h2>
'after_title' => '</h3>'
)
);
}
add_action( 'widgets_init', 'true_register_wp_sidebars' );
//Функция заменяет the_excerpt() то-есть обрезку текста анонса для Вордпресс. Первый параметр к-во символов для обрезки, второй - вставка после анонса
function text_substr($args=350,$end=''){
$text=strip_tags(get_the_content(''));
$text=preg_replace('/\[.*\]/i', '', $text);//удаляем шорткоды
$text=mb_substr($text,0,$args);//укорачиваем на необходимую длину
if (strlen($text)>$args){
$short_text=substr($text,0,strrpos($text, ' ' ));//укорачиваем не необходимую длину
echo $short_text.$end;
}else{
echo $text.$end;
}
}
?>