Щоб долучитися до розробки WordPress, спершу вам потрібно зрозуміти, як працюють найважливіші файли платформи. WordPress робить процес модифікації вашого сайту досить легким. Однак, може бути складно зрозуміти, з чого почати — або передбачити, які наслідки матимуть ваші зміни.
Ідеальне місце для навчання — це functions.php файл, який також відомий як файл функцій. Це поширене місце для внесення змін та додавання коду до WordPress. Редагуючи цей файл, ви можете зробити кілька корисних речей, таких як додавання Google Analytics на ваш сайт, створення спеціальних меню або відображення приблизного часу читання посту.
Що таке файл functions.php?
Файл functions.php WordPress поставляється з усіма безкоштовними та преміальними темами WordPress. На перший погляд може здатися, що це не так багато, але файл функцій — це потужний інструмент, який дозволяє вам робити багато цікавих речей:
WordPress Codex описує файл функцій наступним чином:
“Ви можете використовувати його для виклику функцій, як PHP, так і вбудованих у WordPress, а також для визначення ваших власних функцій. Ви можете отримати ті ж результати, додавши код до WordPress Plugin або через файл функцій теми WordPress.”
У простих термінах, файл функцій дозволяє додавати користувацький код на ваш сайт. Він дозволяє створювати нові функції або посилатися на існуючі у налаштованих способах. Як зазначає Codex, це робить файл функцій дуже схожим на плагін, але є деякі відмінності між ними.
Найважливіша відмінність полягає в тому, що файл функцій належить до певної теми. Якщо ви зміните тему або оновите на новішу версію, зроблені вами зміни зникнуть.
З цієї причини вам слід подумати про створення дочірньої теми і додавання нового коду до файлу функцій дочірньої теми. Таким чином, ви зможете оновлювати батьківську тему без втрати ваших змін.
Чи виберете ви використання файлу функцій чи створення плагіна це повністю залежить від вас. Зараз давайте розглянемо різні способи редагування вашого файлу функцій!
Як редагувати файл функцій (2 методи)
Редагування вашого файлу функцій є легким завданням, коли ви використовуєте стандартний текстовий редактор, такий як TextEdit або Notepad. Однак, перш ніж ви почнете, надзвичайно важливо, щоб ви створили резервну копію вашого сайту та зберегли оригінальний, нередагований файл functions.php. Це дозволить вам відновити ваш сайт, якщо щось піде не так під час процесу редагування.
1. Використовуйте редактор WordPress
Якщо у вас є доступ до інтерфейсу адміністратора WordPress, ви можете редагувати файл функцій безпосередньо з Редактора тем. Перейдіть до Зовнішній вигляд > Редактор:
На правій стороні екрану ви побачите список усіх файлів теми. Вони відрізняються залежно від теми, яку ви використовуєте, але один із варіантів має бути Функції теми (functions.php).
Просто клацніть на файл, щоб відкрити його в редакторі:
Тепер ви можете редагувати файл безпосередньо. Не забудьте натиснути на Оновити файл внизу, щоб зберегти ваші зміни, коли закінчите.
2. Доступ до файлу через FTP
Якщо ви не можете використовувати панель керування адміністратора або віддаєте перевагу безпосередньо налаштовувати файли, ви також можете отримати доступ до файлу функцій за допомогою клієнта Протоколу Безпечної Передачі Файлів (SFTP) такого як FileZilla.
Відкрийте ваш FTP інструмент і введіть ваші реєстраційні дані хостингу, щоб підключитися до вашого сайту. Щоб знайти потрібний файл, перейдіть до wp-content/themes/[назва вашої теми]. Коли ви відкриєте цю папку, ви побачите файл functions.php:
Тепер все, що вам потрібно зробити, це відредагувати його за допомогою обраного вами текстового редактора. Після завершення збережіть файл та перезапишіть його з точно такою ж назвою та розширенням.
8 хитрощів, які ви можете здійснити за допомогою файлу функцій WordPress
Тепер ви повинні бути готові розпочати редагування файлу функцій. Щоб почати, ми розглянемо деякі зміни, які ви можете внести. Все, що вам потрібно зробити, це скопіювати надані фрагменти коду та вставити їх на новий рядок у самому низу вашого файлу функцій (не забудьте зберегти його!).
1. Додайте Google Analytics на ваш сайт
Існує кілька способів інтеграції Google Analytics з вашим сайтом WordPress. Один із них – це додавання ваших даних безпосередньо до файлу функцій. Цей метод вставить код відстеження у заголовок вашого сайту, забезпечуючи належний запис кожного відвідування.
Почніть з вставки наступного коду у нижню частину вашого файлу функцій:
<?php add_action('wp_head', 'wpb_add_googleanalytics'); function wpb_add_googleanalytics() { ?> // Замініть цей рядок на свій ідентифікатор відстеження Google Analytics <?php } ?>
Все, що вам потрібно зробити зараз, це знайти ваш Tracking ID і вставити його в рядок, що містить текст-заповнювач. Коли ви збережете файл функцій, ваш сайт буде підключено до вашого облікового запису Google Analytics.
2. Змініть стандартне повідомлення про помилку входу
За замовчуванням, коли хтось робить невдалу спробу входу на сайт WordPress, він побачить таке повідомлення про помилку:
На жаль, це повідомлення надає потенційним зловмисникам інформацію про те, чому спроба не вдалася. Більш безпечним рішенням буде змінити це на загальне повідомлення.
Ви можете легко зробити це, додавши наступний код до файлу функцій:
function no_wordpress_errors(){ return 'Сталася помилка!'; } add_filter( 'login_errors', 'no_wordpress_errors' );
Бачите повідомлення Something went wrong! на другому рядку? Тепер це повідомлення з’явиться наступного разу, коли станеться невірна спроба входу:
Ви можете змінити текст на будь-який, який захочете, за умови, що ви збережете символи одинарних лапок. Спробуйте з різними повідомленнями, щоб побачити, як це працює.
3. Додайте приблизний час читання для посту
Цей чудовий трюк дозволяє розрахувати та відобразити приблизний час, необхідний для читання посту. Ваші відвідувачі можуть одразу отримати загальне уявлення про обсяг контенту.
Для впровадження цього коду вам потрібно зробити дві окремі правки. Перша з них має бути здійснена у файлі functions.php, куди вам варто вставити наступний фрагмент:
function reading_time() { $content = get_post_field( 'post_content', $post->ID ); $word_count = str_word_count( strip_tags( $content ) ); $readingtime = ceil($word_count / 200); if ($readingtime == 1) { $timer = " хвилина"; } else { $timer = " хвилини"; } $totalreadingtime = $readingtime . $timer; return $totalreadingtime; }
Проте, цей фрагмент лише виконує обчислення. Тепер вам потрібно додати наступний код там, де ви хочете відобразити результати:
echo reading_time();
Наприклад, ви можете додати це до метаданих, які відображаються поряд з кожним дописом. Кожна тема створена по-різному, але зазвичай ви знайдете це в template-parts > post > content.php:
Орієнтовний час читання тепер буде відображатися у заголовку кожного посту разом з датою.
4. Видалити номер версії WordPress
Старі версії WordPress можуть містити вразливості до безпеки, які шкідливі хакери та боти можуть використовувати. Один із способів уникнути цього ризику – приховати, яку версію WordPress використовує ваш сайт. Це називається безпека через непрозорість.
Перед тим як ми продовжимо, важливо зазначити, що приховування ніколи не повинно бути вашим єдиним заходом безпеки. Це скоріше додаток до вашої вже захищеної фортеці WordPress.
Приховування номера вашої версії потребує лише додавання наступного фрагменту коду до файлу функцій:
remove_action('wp_head', 'wp_generator');
Номер версії тепер буде видалено з усіх областей вашого сайту, включаючи його код та вашу RSS-стрічку.
5. Автоматичне оновлення вашого повідомлення про авторські права
Оновлення року у вашому попередженні про авторські права — це одне з тих невеликих завдань, про які легко забути. На щастя, ви можете редагувати файл функцій, щоб автоматично генерувати дату авторських прав на основі року, коли було написано ваш перший пост.
Вставте наступний код у ваш файл функцій:
function wpb_copyright() { global $wpdb; $copyright_dates = $wpdb->get_results(" SELECT YEAR(min(post_date_gmt)) AS firstdate, YEAR(max(post_date_gmt)) AS lastdate FROM $wpdb->posts WHERE post_status = 'publish' "); $output = ''; if($copyright_dates) { $copyright = "© " . $copyright_dates[0]->firstdate; if($copyright_dates[0]->firstdate != $copyright_dates[0]->lastdate) { $copyright .= '-' . $copyright_dates[0]->lastdate; } $output = $copyright; } return $output; }
Додайте наступний код там, де ви хочете відобразити інформацію про авторські права:
<?php echo wpb_copyright(); ?>
Тепер ви побачите динамічно оновлювану дату авторського права на вашому сайті.
У нашому випадку ми додали дату до файлу footer.php, щоб вона відображалася внизу сторінки.
6. Додайте власні меню
Більшість тем мають попередньо визначені меню навігації. Однак, що робити, якщо ви хочете створити власне меню та розмістити його де завгодно на вашому сайті?
Все, що вам потрібно зробити, це вставити цей код у ваш файл функцій:
function wpb_custom_new_menu() { register_nav_menu('my-custom-menu',__( 'Моє налаштоване меню' )); } add_action( 'init', 'wpb_custom_new_menu' );
Ви можете замінити ‘My Customized Menu’ на назву, яку хочете дати меню. Якщо ви перейдете до Зовнішній вигляд > Меню у вашій адміністративній зоні, ви повинні побачити новий варіант, перелічений на сторінці:
Ви тепер можете додати нове меню будь-де на вашому сайті.
<?php wp_nav_menu( array( 'theme_location' => 'my-custom-menu', 'container_class' => 'custom-menu-class' ) ); ?>
Найімовірніше, ви захочете розмістити цей код у файлі header.php. Це розмістить меню на самому верху вашого сайту.
7. Налаштуйте свої уривки
Уривки – це короткі описи ваших публікацій, які ви можете відображати на домашній сторінці або стрічці блогу. За замовчуванням всі уривки мають однакову довжину та текст посилання, але ви можете змінити це.
Спочатку давайте змінимо текст посилання, яке переводить вас від уривка до повного посту. Зазвичай це «Читати далі» або «Продовжити читання», але ви можете зробити його таким, яким хочете, вставивши наступний фрагмент у ваш файл функцій:
function new_excerpt_more($more) { global $post; return '<a class="moretag" href="'. get_permalink($post->ID) . '"> Прочитати повний артикул...</a>'; } add_filter('excerpt_more', 'new_excerpt_more');
Тут текст посилання встановлено на Прочитайте повний артикул…
Тоді давайте змінимо довжину уривка. Вставте цей код у ваш файл функцій:
function new_excerpt_length($length) { return 20; } add_filter('excerpt_length', 'new_excerpt_length');
За замовчуванням стандартна довжина становить 55 слів. Однак, у цьому прикладі вона встановлена на 20. Ви можете змінити число на будь-яке, яке бажаєте.
8. Згенеруйте випадковий фон для вашого сайту
Нарешті, закінчимо цікавим дизайнерським трюком. Цей трюк дозволяє випадково генерувати новий колір фону для вашого сайту кожного разу, коли його відвідує хтось. Почніть з додавання наступного коду до файлу функцій:
function wpb_bg() { $rand = array('0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f'); $color ='#'.$rand[rand(0,15)].$rand[rand(0,15)].$rand[rand(0,15)]. $rand[rand(0,15)].$rand[rand(0,15)].$rand[rand(0,15)]; echo $color; }
Цей код генерує HTML тег для кольорів, тому все, що вам залишилося зробити, це переконатися, що він застосовується до сторінки. Для цього вам потрібно знайти тег <body>, який повинен виглядати так:
<body <?php body_class(); ?>>
Це зазвичай знаходиться у файлі header.php, але може бути й в інших місцях, залежно від вашої теми. Коли ви знайдете потрібний рядок, просто замініть його наступним кодом:
<body <?php body_class(); ?> style="background-color:<?php wpb_bg();?>">>
Збережіть ваш файл та відкрийте ваш сайт. Ви повинні побачити, що він отримав новий колір фону:
Перезавантажте сторінку, і ви побачите новий колір кожного разу:
Це, звичайно, не найкращий вибір дизайну для кожного сайту, але це хороший хитрощ для деяких!
Редагуйте файл functions.php
Файл functions.php WordPress є ідеальним місцем для експериментів із стандартною функціональністю вашого сайту. Це потужний файл, який дає вам багато можливостей для керування вашим сайтом, як тільки ви зрозумієте, як він працює.
Залежно від вашої теми WordPress, ви можете використовувати вбудований редактор файлів тем для доступу та редагування вашого файлу functions.php. В іншому випадку, ви можете отримати доступ до нього через FTP. Потім ви можете використовувати користувацький код для реалізації різних функцій від відображення приблизного часу читання поста до налаштування ваших уривків.
Робіть більше з DreamPress
Користувачі DreamPress Plus та Pro отримують доступ до Jetpack Professional (та понад 200 преміум тем) без додаткових витрат!
Переглянути плани