Статьи

Настройка функциональности WordPress с помощью functions.php

Итак, мы находимся на восьмом и последнем этапе нашего квеста о том, как попасть на сайт WordPress. Я надеюсь, что теперь вы чувствуете себя намного комфортнее, играя с собственными сайтами. Одна из замечательных вещей, которые я нашел в WordPress, — это огромное количество вещей, которые вы можете сделать с ним, как только вы начнете знакомиться с тем, как все складывается вместе.

В сегодняшнем уроке мы рассмотрим последний загадочный файл нашей темы, который вы часто будете видеть в ловушках; тот, в который вы, возможно, уже вставили фрагменты кода, не зная, почему или почему. Сегодня мы будем возиться с шаблоном функций ( functions.php ).

Для углубленного обсуждения этого загадочного документа вы не можете пройти мимо того, что обсуждается в Кодексе , но вкратце, файл «Функции» — это средство, с помощью которого мы можем изменить функциональность по умолчанию на некоторых наших сайтах. Используя этот файл, мы также можем расширить функциональность сайта. Это довольно мощный инструмент, и сегодня мы рассмотрим лишь несколько способов его использования для расширения нашего тестового веб-сайта.


Тебе понадобиться:

  • FTP доступ к вашему сайту
  • Ваше программное обеспечение для редактирования текста
  • Изображение favicon размером 32×32 пикселей, сохраненное в формате .ico, с именем favicon.ico.

  • Добавление в код отслеживания Google Analytics (вы можете использовать плагин для этого, но мы используем это в качестве примера)
  • Добавление в избранное на ваш сайт

Прежде чем мы продолжим, мы должны немного рассказать о том, как файл функций ведет себя в контексте вашей дочерней темы. Это немного отличается от других шаблонов, с которыми мы работали.

В дочерней теме вместо того, чтобы заменять функциональность соответствующего файла в родительской теме, как мы делали в нашем предыдущем уроке, functions.php добавляет или расширяет функциональность родителя. Он не заменит его, что, если вы помните, так ведут себя другие шаблоны в дочерней теме.

Итак, когда наша страница вызывается, и сервер делает свое волшебство, собирая все шаблоны вместе, он ищет функции в дочерней теме, выполняет их, а затем ищет родительский элемент и выполняет эти функции.

Во-вторых, файл функций также является файлом PHP, и функции, которые мы вставляем / пишем, будут включать код PHP, а также, возможно, некоторый HTML. Так что они помогают нам завоевать популярность у нас! (высокие пятерки со всех сторон!)

Давайте углубимся в это.


Сразу скажу, что нет ничего плохого в добавлении кода аналитики с помощью плагина. Фактически, большинство плагинов, которые предлагают эту функциональность, (по сути) не будут сильно отличаться от этого процесса, они просто убирают код из файла плагина. Тем не менее, это полезная и не слишком сложная иллюстрация для целей этого упражнения. Итак, давайте посмотрим.

Шаг 1. Откройте ваш FTP-клиент и перейдите в каталог дочерней темы .

Шаг 2. В списке файлов на удаленном сервере щелкните правой кнопкой мыши и выберите « Создать новый файл» .

1-bwwp_8 создать новый файл-

Шаг 3. Введите имя вашего файла функций как functions.php и нажмите ОК .

2-bwwp_8 создать-новый-файл-б

Шаг 4. Откройте новый файл functions.php в текстовом редакторе.

Шаг 5. На этом этапе нам нужно настроить файл так, чтобы наш сервер распознал его как файл PHP. Поэтому добавьте открывающий тег PHP, например <?php , в начале вашего файла.

3-bwwp_8 создать-новый-файл-с

Шаг 6. Теперь мы готовы вставить некоторый код в наш functions.php .

Вот код, который мы вставим, и ниже это объяснение того, на что мы смотрим:

01
02
03
04
05
06
07
08
09
10
11
<?php
 
// Inserting Google Analytics Code to the Footer
add_action( ‘wp_footer’, ‘mytheme_add_google_analytics’ );
function mytheme_add_google_analytics() {
    ?>
    <!— Where we’ll put the Google Analytics code that we get from google… —>
    <?php
}
 
?>

Хорошо, давайте разберемся.

1
// Inserting Google Analytics Code to the Footer

В строке 1 у нас есть предложение, начинающееся с двух // знаков. Это комментарий, который ничего не делает программно, он просто предназначен для информации о человеке, редактирующем файл. Форматирование его с помощью косой черты — это быстрый способ закомментировать одну строку кода PHP. Если мы /* comment here */ целый блок, который пересекает более одной строки, мы будем использовать обычный /* comment here */ метки, которые мы также используем в CSS. Хорошей практикой является добавление комментариев в виде заметок при написании кода, чтобы вы могли быть в курсе того, где вы находитесь и чем занимались.

1
add_action( ‘wp_footer’, ‘mytheme_add_googleanalytics’ );

В строке 4 у нас есть немного сложный код, начинающийся с add_action .

add_action — это функция PHP, которая связывает действия с местами в коде, называемыми хуками. Мы можем найти целую кучу фрагментов кода в Интернете, которые фактически являются функциями PHP для добавления или удаления функциональности для различных хуков в нашем коде. В этом случае мы используем это add action add, чтобы добавить функцию wp_footer ловушку wp_footer .

1
function mytheme_add_googleanalytics() {

Строка 5 фактически определяет и открывает функцию mytheme_add_google_analytics :

1
<!— Where we’ll put the Google Analytics code that we get from google… —>

и от линии 7, которая следует, является тяжелой подъемной частью, которая фактически там, где мы обеспечим функциональность. На данный момент это всего лишь комментарий HTML (<- здесь комментарий ->), мы исправим это в ближайшее время.

Наконец, в строке 9 мы закрываем функцию с помощью фигурных скобок (обратите внимание, как нам пришлось пересчитать <?php . Это потому, что код, который мы вставляем, в действительности является HTML, и оба языка работают в тандеме, а не в толчке Итак, нам пришлось закрыть тег PHP с ?> после { скобок в строке 5, затем вставить наш код (мы сделаем это на следующем шаге) и затем заново открыть тег PHP в строке 8 перед тем, как мы пишем больше функций в наш файл.

1
2
3
4
<?php
}
 
?>

Шаг 7. Теперь пришло время войти в свой аккаунт Google Analytics и получить код для встраивания. Я подожду здесь, пока ты это сделаешь …

Шаг 8. Теперь идите и вставьте это в строку 7 поверх нашего HTML-комментария.

4-bwwp_8 паста-G-аналитика

Шаг 9. Теперь сохраните ваш файл и загрузите его на свой сервер.

Вы должны быть в состоянии проверить код вашей страницы и увидеть, что код счастливо сидит внизу вашего исходного кода:

5-bwwp_8 паста-G-аналитика-б

Вы знаете, что такое значок, верно? Если вам нужен переподготовка, отправляйтесь в Кодекс за дополнительной информацией . Короче говоря, это маленькая иконка, которую вы часто видите, отображая логотип или пользовательское изображение на вкладках браузера или когда ссылка на ваш сайт сохраняется в виде закладки.

Шаг 1. Создайте файл favicon.ico в своем любимом программном обеспечении для редактирования изображений.

Шаг 2. Загрузите ваш favicon в каталог вашей темы (ваша дочерняя тема) через FTP.

Шаг 3. Вставьте следующий код в ваш файл functions.php :

1
2
3
4
5
6
7
8
9
// Add a Favicon to the Site
 
add_action( ‘wp_head’, ‘mytheme_add_favicon’ );
 
function mytheme_add_favicon() {
 
    echo ‘<link rel=»Shortcut Icon» type=»image/x-icon» href=»‘ . get_stylesheet_directory_uri() . ‘/favicon.ico» />’;
 
}

Шаг 4. Сохраните файл и загрузите его обратно на свой сервер.

Описав, что происходит в функции WordPress ранее, вы должны довольно просто понять, что происходит в этой следующей функции. Во-первых, давайте посмотрим на код …

Для начала в строке 4 мы видим, что мы создаем еще одну функцию add_action . Хук, на который мы wp_head наш код, это wp_head (поэтому, в отличие от предыдущего хука, мы добавляем его в верхний колонтитул нашего сайта, а не в нижний колонтитул), а имя нашей функции — mytheme_add_favicon .

Примечание о функциях именования:

Возможно, вы заметили, что в обоих этих случаях я назвал функции, начиная с нашей пользовательской темы имени mytheme_ и заканчивая описанием того, что делает наша функция, например, add_favicon . Причина этого двоякая:

  1. Это позволяет сразу увидеть, чего именно должен достичь наш код, и …
  2. Это исключает риск использования имен функций, которые уже существуют в нашей родительской теме или в самом WordPress, и, таким образом, снижает риск разрушения нашей темы.

В любом случае, если у вас есть файл favicon.ico в каталоге вашей темы, приведенный выше код должен работать «из коробки», но для пояснения:

  1. В строке 8 мы говорим нашей теме вставить строку HTML в head нашего сайта. Это говорит браузеру, где найти favicon.ico .
  2. Немного PHP в этой строке ( get_stylesheet_directory_uri() вставляет путь к нашему файлу в каталоге темы.

Предполагая, что весь код верен, и файл находится в каталоге темы, браузер, в свою очередь, отобразит этот значок для нашего сайта в углу наших вкладок и в других подобных местах, где обычно отображается значок.

6-bwwp_8 паста-G-аналитика-с

Возможно, вы заметили, что в этом примере нам не нужно было закрывать и открывать теги PHP, как мы это делали в шагах 7 и 8 предыдущего примера. Это связано с тем, что во втором примере код, который мы использовали, представляет собой PHP от начала до конца, и хотя он включает в себя биты HTML, он не является отдельным HTML, потому что PHP создает часть строки URL. Когда вы познакомитесь с подобными функциями и научитесь создавать функции самостоятельно, вы поймете разницу, но эта мысль просто даст вам понять, что код верен, на тот случай, если вы хотите добавить в тегах <?php и / или ?> в этом примере также в фигурных скобках!


Как только вы начнете понимать всю мощь файла functions.php, вы не сможете его остановить, это средство для выполнения самых разных задач и добавления некоторых замечательных и мощных функций на ваш сайт. Поэтому в следующий раз, когда вы будете добавлять учебник или фрагмент, который вы читаете, в ваш файл functions.php , вы теперь сможете уверенно добавлять и контролировать все области своего сайта!

Помнить! Прежде чем вносить новые изменения в свой файл, сохраните копию на рабочем столе для сохранности перед загрузкой новых изменений. Неправильный код в файле functions.php может вызвать проблемы, поэтому сохранение рабочей версии на рабочем столе означает, что если что-то пойдет не так, вы можете просто загрузить свой файл безопасности и начать заново.