Популярні трюки у файлі functions.php сайту на WordPress
З усіх основних файлів WordPress є тільки кілька таких же універсальних файлів, як і functions.php
. Файл functions.php
розміщується в папці активної теми і завантажується кожен раз, коли користувач відкриває ваш сайт. Якщо ви знаєте, як з ним працювати, цей файл дозволить вам додавати на свій сайт додатковий функціонал всього кількома рядками коду. Це відкриває великі можливості для розробників та вебмайстрів при роботі з сайтом на WordPress.
У цій статті ми надамо вам основну інформацію про файл functions.php
WordPress і про те, як використовувати його в своїх інтересах. Ми розглянемо 9 популярних хуків в цьому файлі для розширення функціональності вашого сайту без необхідності встановлення плагіна.
Введення в файл функцій WordPress
Файл functions.php
є одним з основних файлів WordPress. Іншими словами, він допомагає керувати всією платформою і багатьма функціями на вашому сайті.
Його можна використовувати як тимчасовий спосіб впровадження нових функцій на ваш сайт, що є ідеальною альтернативою плагінам WordPress для простих або тимчасових функцій.
Також варто відзначити, що є «батьківський» файл functions.php
, який впливає на весь ваш сайт, але кожна тема має свою власну дочірню версію. Використовуючи дочірню тему, ви можете реалізувати функції тільки для певних тем і не зачіпаючи ваш сайт в основній темі.
Якщо ви збираєтеся внести істотні зміни в свій сайт, кращий спосіб для цього – налаштувати дочірню тему, щоб ваші зміни не зникли під час оновлень шаблону. Також бажано зробити резервну копію свого сайту, перш ніж вносити будь-які зміни, на випадок, якщо щось піде не так, і вам буде потрібно скасувати ці зміни.
Щоб почати роботу з файлом функцій WordPress, перейдіть в папку /wp-content/themes/
. Всередині цієї папки містяться папки для кожної доступної теми. Кожна з тем містить свої власні файли functions.php
. Відкрийте активну тему (яка використовується на вашому сайті в даний момент). Потім відкрийте файл functions.php
будь-яким текстовим редактором (наприклад, Notepad++).
Тепер настала черга додавати функціональність на свій сайт!
Основні трюки для файлу functions.php в WordPress
- Видалити панель привітання з Майстерні
Панель привітання – це розділ в Майстерні, який з’являється, як тільки ви входите в WordPress, і зазвичай він містить деякі поради та пропозиції. За допомогою цього фрагмента коду ви зможете видалити цю панель привітання назавжди:
remove_action('welcome_panel', 'wp_welcome_panel');
Звичайно, панель привітання може бути корисною, але якщо ви тривалий час використовуєте платформу і більше не потребуєте порад, ви зможете її відключити.
- Приховати номер використовуваної версії WordPress
Як ви, мабуть, знаєте, WordPress відображає номер своєї версії в різних частинах вашого сайту. Ви зможете видалити цю досить небезпечну інформацію за допомогою простого коду:
function sebweo_remove_version() { return ''; } add_filter('the_generator', 'sebweo_remove_version');
- Додати нового Admin користувача в WordPress
Є кілька випадків, коли ви можете заблокувати свій обліковий запис адміністратора і у вас не буде можливості ні змінити свій пароль, ні отримати доступ до свого сайту. За допомогою цього коду ви отримаєте додатковий спосіб відновлення доступу.
Просто скопіюйте наступний код, вставте його в кінець файлу functions.php
вашої теми та збережіть зміни:
function sebweo_admin_account(){ $user = 'username'; $pass = 'password'; $email = 'email@site.com'; if ( !username_exists( $user ) && !email_exists( $email ) ) { $user_id = wp_create_user( $user, $pass, $email ); $user = new WP_User( $user_id ); $user->set_role( 'administrator' ); } } add_action('init','sebweo_admin_account');
Вам потрібно буде замінити значення, які вказані в змінних $user
, $pass
, $email
і вас буде новий обліковий запис Адміністратора сайту!
- Показати загальну кількість зареєстрованих користувачів
Якщо на вашому сайті є достатня кількість зареєстрованих користувачів, ви можете показувати їх загальну кількість в потрібному місці на сайті. Не сприймайте це як хвастощі. Люди більш схильні довіряти сайту, якщо вони знають, що у нього велика база користувачів. Використовуйте наступний код:
function sebweo_user_count() { $usercount = count_users(); $result = $usercount['total_users']; return $result; } add_shortcode('user_count', 'sebweo_user_count');
Ця функція трохи відрізняється від попередніх, оскільки з її допомогою ми фактично зареєстрували спеціальний короткий код (шорткод) [user_count]
. Для кращого розуміння шорткодов ознайомтеся з цією статтею. Тепер ви можете показувати кількість всіх зареєстрованих користувачів на своєму сайті, використовуючи цей простий шорткод.
- Додати свої розміри для картинок
WordPress автоматично змінює розміри ваших зображень до певних розмірів після їх завантаження через Майстерню і за замовчуванням надає деякі заготовки. За допомогою наступного коду ви зможете використовувати нові розміри завантажуваних картинок:
add_image_size( 'new-thumbnail', 125, 125 );
Майте на увазі, що ви можете додати стільки нових розмірів, скільки захочете. Після цього ви зможете використовувати їх в потрібному місці на сайті. Наприклад, вказаний код реєструє нові розміри картинок (шириною і висотою по 125px). Тепер ви можете використовувати наступний код в шаблонах теми, щоб показувати картинку цього розміру:
<?php the_post_thumbnail( 'new-thumbnail' ); ?>
- Відключити RSS-канал
Незважаючи на те, що це є гарною функцією в WordPress, іноді вона може бути марною (наприклад, якщо ваш сайт складається лише з однієї сторінки). Якщо ви не зацікавлені у використанні RSS, ви можете повністю відключити його за допомогою цього коду:
function sebweo_disable_feed() { wp_die( __('Вибачте, ми не використовуємо RSS канал на своєму сайті!') ); } add_action('do_feed', 'sebweo_disable_feed', 1); add_action('do_feed_rdf', 'sebweo_disable_feed', 1); add_action('do_feed_rss', 'sebweo_disable_feed', 1); add_action('do_feed_rss2', 'sebweo_disable_feed', 1); add_action('do_feed_atom', 'sebweo_disable_feed', 1);
Зазначений вище код показує користувачам повідомлення про помилку, коли вони безпосередньо звертаються до RSS-каналу на вашому сайті.
- Приховання відомостей про помилку при вході в Майстерню WordPress
Помилки при вході в Майстерню, які є занадто докладними, можуть привести до небажаної інформації, якою можуть скористатися зловмисники. За допомогою наступного коду WordPress не буде показувати детальну інформацію про помилку при спробі увійти в систему:
function sebweo_no_wordpress_errors(){ return 'Упс, щось пішло не так!'; } add_filter( 'login_errors', 'sebweo_no_wordpress_errors' );
Використовуючи цей хук, ви трохи ускладните зловмисникам спробу отримати доступ до вашого сайту, в той час як у реальних користувачів не буде проблем із з’ясуванням того, де вони зробили помилку.
- Змінити довжину анонсу публікації
В архівних сторінках блогу на WordPress (категорії, архіви, теги) зазвичай відображається короткий анонс з ваших постів, щоб дати читачам уявлення про те, про що в них йдеться. Якщо ви хочете змінити довжину цього анонсу, ось вам така можливість:
function sebweo_excerpt_length($length) { return 125; } add_filter('excerpt_length', 'sebweo_excerpt_length');
Довжина анонса за замовчуванням – 55 знаків, але в наведеному вище коді ми збільшили її до 125 знаків.
- Відключити функцію пошуку WordPress
Майже кожен сайт має потребу в функції пошуку, щоб допомогти користувачам знайти потрібну інформацію. Однак, якщо ви створюєте, наприклад, сайт лише з однієї сторінки, пошук вам може і не знадобитися. Ось код, який дозволить вам відключити функцію пошуку на сайті:
function sebweo_filter_query( $query, $error = true ) { if ( is_search() ) { $query->is_search = false; $query->query_vars[s] = false; $query->query[s] = false; if ( $error == true ) $query->is_404 = true; } } add_action( 'parse_query', 'sebweo_filter_query' ); add_filter( 'get_search_form', create_function( '$a', "return null;" ) );
Тепер при спробі щось знайти на сайті, користувачеві буде повернута сторінка з 404-ї помилкою.
Перш ніж відключити функцію пошуку на сайті WordPress, вам необхідно бути на 100% впевненим, що вона вам не знадобиться. Звичайно, ви завжди можете видалити цей код для відновлення пошуку на своєму сайті, але спочатку зважте всі нюанси.
Короткий підсумок
Файл functions.php
є одним з найпотужніших інструментів для сайту на WordPress. Він дозволяє вам додавати всілякі функції за допомогою кількох рядків коду.
Чи є у вас які-небудь питання про цей файл в WordPress? Можливо, ви знаєте якісь корисні функції. Якщо так, напишіть про це в розділі коментарів нижче!