Многие вебмастера, в своих рекомендациях по улучшению работы сайта, предлагают оптимизировать блог путем установки всевозможных кодов. Например, заменой таковыми некоторых плагинов. В определенных случаях, коды, которые нужно вставлять в файлы темы, необходимо разместить в файле functions.php. Предоставляя определенный php-код, авторы мануалов как правило не рассказывают
Содержание
Как правильно вставить php-код в functions.php
Ответом на этот вопрос мы и займемся на страницах этой статьи. Установка кода в в functions.php требует определенных знаний, без которых все изменения в этом файле темы, может привести к серьезной ошибке работы сайта, вплоть до его блокировки, после чего тему придется переустанавливать.
Файл functions.php — особенный файл
позволяющий содержать код, который влияет на стабильную работу сайтов на движке WordPress. Фактически, он сама суть этой CMS, позволяющая так или иначе влиять на все процессы работы сайта, в котором с созданием или заимствований определенных видов функций, можно значительно поменять всю (или частичную) работу сайта. Изменения в файле functions.php — это изменения в написании, комментировании, в оформлении, поведении администратора и читателей блога и многое другое.
Описание операции по вставке кода
Давайте вспомним, если вам это приходилось делать, как нужно вставлять всевозможные HTML- коды в некоторые другие файлы темы — например в header.php. Как правило, их нужно поместить между тегами <head> и </head> или <body> и </body> — то есть в теле, находящимися между этими двумя тегами.
Аналогично нужно делать и в functions.php. Но здесь есть свои особенности. Функция, которая размещена и работает в каком-либо файле темы, представляет собой некий код. Например
[stextbox id=»grey»]function() {
$sb(‘#socialbox a’).hover(function() {
$sb(this).animate({ marginTop: ‘-5px’ }, 100);
}, function() {
$sb(this).animate({ marginTop: ‘0px’ }, 100);
}); // Menu simple animation
}[/stextbox]
Здесь начало работы определенной функции на сайте начинается открывающей фигурной скобкой, а заканчивается — закрывающей ( выделено красным цветом).
Внутри каждой функции размещаются php-коды, которые также начинаются открывающими и закрывающими тегами. Либо так — <?php ///////////////////// <?php, либо так — <?///////////////////// ?>. Кстати, тег <?php и тег <? — выполняют одну и ту же функцию. Например, может быть вот так:
[stextbox id=»grey»]
<?php
// начало файла functions.php
function foo() {
<? <span>Какой то текст</span> ?>
}
////////////////////
конец файла functions.php
?>
[/stextbox]
Весь смысл правильного размещения нужного вам кода в functions.php заключается в том, что бы при его установке, вы не нарушили его целостность и структуру. Иначе: нельзя ничего выводить в поток вывода PHP раньше вывода основных заголовков: вставляемые коды не должны быть вне функций конструкций вида <?php ///////////////////// <?php или <?///////////////////// ?>, или <?php /////////////////////?> и т.п.
Сложно понять. Тогда пример. Если вы вставите код, вот так:
[stextbox id=»grey»]
<?php
// начало файла functions.php
function foo() {
<? <span>Какой то текст</span> ?>
}
////////////////////
конец файла functions.php
?>
[/stextbox]
…то вы нарушите правило целостности кода: имеем подряд два открывающих и закрывающих тега, и только потому, что открывающие и закрывающие теги уже есть в этой части выбранного кода данной функции. Для того, что бы этого не произошло, вам нужно удалить их со вставляемого кода!
[stextbox id=»grey»]
<?php
// начало файла functions.php
function foo() {
<span>Какой то текст</span>
}
////////////////////
конец файла functions.php
?>
[/stextbox]
Проще говоря — закрывающие и открывающие теги вставляемого php-кода, будут лишними.
Вставлять код в файле functions.php можно в любом месте, но, во избежание риска, лучше всего это сделать в самом низу. Как правило во всех темах вордпресс, в самом конце файла стоит тег ?> Перед ним и нужно вставить код, предварительно сделав в нем удаление лишних тегов самого кода:
Вот и все премудрости.
Меры безопасности при вводе php-кода в файл functions.php
- Прежде всего, перед редактированием (вставкой кода) — обязательно сохраните исходный functions.php в удобном вам месте: (на хосте — если позволено, на компьютере — закачкой через браузер или по FTP ( для этого можно воспользоваться программами Total Commander или FileZilla).
- Редактировать functions.php можно в текстовом редакторе вордпресс, в блокноте компьютера, или любом другом подобном редакторе. Но, например, блокнот при сохранении файла, искажает некоторые функции кода. Нечто аналогичное может произойти и в других текстовых редакторах. Лучше всего для этого подойдет бесплатный текстовой редактор: для Windows — Notepad++, для MacOS — Coda, для Linux — vim.