В нашем деле сдавшихся всегда больше, чем проигравших (А. Герман).

Руководство для начинающих для вставки фрагментов php из интернета в WordPress

4 мин для чтения
FavoriteLoadingДобавить в избранное
1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (82 оценок, среднее: 4,69 из 5)
Загрузка...
21 июня 2015
Сегодня мы научим вас правильно добавлять фрагменты кода в свой файл темы functions.php. Этот процесс довольно легок для специалистов PHP, но сложен для новых пользователей. Часто новички стремятся быстро написать код или вставить нужный код, но из-за нехватки знаний в PHP, порой приводит к поломке сайта. Это нормально, и если читаете эту статью, значит у вашего сайта проблемы, и мы хотим заверить вас, что Вы не один такой. Все мы совершали подобную ошибку как минимум по несколько раз. Сейчас мы расскажем вам, наиболее популярные ошибки и как избежать их при вставке кода из других источников и материалов в файл functions.php.
Примечание: не путайте файл functions.php расположенный в папке /wp-content/themes/yourthemename/ и файл ядра Wordpess functions.php находящийся в папке /wp-includes/.

Основной код семантики РНР пишется так:

//Это начальный тег
<?РНР
 
//Это конечный тег
?>

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

1-я распространенная ошибка

Владелец сайта вставляет код между тэгами PHP, как показано ниже, но вставляют его неверно.

<?php
add_filter( 'login_headerurl', 'Fcustom_logins_url' );
function Fcustom_logins_url($url) {
    return 'http://AndreyEx.ru';
}
?>

Пример кода functions.php (Примечание. Файл functions.php обычно имеет гораздо больший объем, но смысл тот же):

<?php
//смешивают код PHP с существующим здесь
 
//Программер вставляет код который он нашёл в интернете
 
<?php
add_filter( 'login_headerurl', 'Fcustom_logins_url' );
function Fcustom_logins_url($url) {
    return 'http://AndreyEx.ru';
}
?>
?>

Это будет явно ошибка на Вордпресс, потому что у вас уже есть начальный тег который который еще не закрыли. Есть два решения данной проблемы. Первый, вставляем элемент в правильном месте:

<?php
//смешивают код PHP с существующим здесь
 
//Видите, как мы правильно закрыли тег PHP
?>
//Теперь можем открыть тег.
<?php
add_filter( 'login_headerurl', 'Fcustom_logins_url' );
function Fcustom_logins_url($url) {
    return 'http://AndreyEx.ru';
}
?>

Заметьте, насколько мы правильно вставили код после закрытия предыдущего.

Другой способ-просто удалить начальный и конечный теги с вашего нового кода. Так будет выглядеть:

<?php
//смешивают код PHP с существующим здесь
 
// Новый код просто вставляется сюда (обратите внимание, что мы удалили начальный и конечный тег из вставленного кода)
 
add_filter( 'login_headerurl', 'Fcustom_logins_url' );
function Fcustom_logins_url($url) {
    return 'http://AndreyEx.ru';
}
?>

2-я распространенная ошибка

У каждого учебника есть свой собственный стиль написания. Некоторые держат их в фрагментах, обматывают тегом PHP, которые вы видели выше. Другие не оборачивают свои фрагменты вокруг PHP-тегом. Это подводит нас к очередной проблемы. Пример:

function Fcustom_logins() {
echo '<style type="text/css">
h1 {background-image: url('.get_bloginfo('template_directory').'/images/logins.png) !important; }
</style>';
}
add_action('login_head', 'Fcustom_logins');

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

<?php
//смешивают код PHP с существующим здесь
?>
 
//Затем пользователь вставляет код здесь (обратите внимание на PHP-теги которые уже закрыты выше):
 
function Fcustom_logins() {
echo '<style type="text/css">
h1 a {background-image: url('.get_bloginfo('template_directory').'/images/logins.png) !important; }
</style>';
}
add_action('login_head', 'Fcustom_logins');

Если вы заметили, код вставлен вне тегов. Вордпресс не знает, что это за код, таким образом получается ошибка. Пример правильного кода:

<?php
//смешивают код PHP с существующим здесь
 
//Новый идет здесь
function Fcustom_logins() {
echo '<style type="text/css">
h1 {background-image: url('.get_bloginfo('template_directory').'/images/logins.png) !important; }
</style>';
}
add_action('login_head', 'Fcustom_logins');
 
//PHP End Tag
?>

3-я распространенная ошибка

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

Устройство функции обычно выглядит так:

function Fcustom_function_name() { // это начальный
 
// код функции идет здесь
 
} // Это конечный тег

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

function Fcustom_name_function() { // здесь начальный тег
 
// код функции идет здесь
 
function Fcustom_login() {
echo '<style type="text/css">
h1 {background-image: url('.get_bloginfo('template_directory').'/images/login.png) !important; }
</style>';
}
add_action('login_head', 'Fcustom_login');
 
} // Тут конечный тег

Вы не можете сделать это. Каждая функция являются независимой, поэтому нельзя ставить два вместе. Далее правильный код вставки:

function Fcustom_name_function() { // это начальный тег
 
// код функции идет здесь
 
 
} // Это конечный тег
 
function Fcustom_login() {
echo '<style type="text/css">
h1 a {background-image: url('.get_bloginfo('template_directory').'/images/login.png) !important; }
</style>';
}
add_action('login_head', 'Fcustom_login');

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

Другие Советы

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

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

Бывают случаи, когда вы сталкиваетесь с длинными фрагментами. Например, наш код формирования сниппета. Авторы имеют тенденцию объяснять код для их пользователей (который является хорошо), но он также приводит к ошибкам в коде. Так, мы делаем прокрутку вниз или вверх, чтобы получить окончательный фрагмент кода, а не собираем все воедино сами.

Узнаете ли вы эти ошибки? Как вы с ними справлялись? Были у вас ошибки, которые мы не упомянули выше? Если да, то поделитесь в комментариях с нами.

Руководство для начинающих для вставки php фрагментов из интернета в WordPress

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Просмотров: 401

Если статья понравилась, то поделитесь ей в социальных сетях:

Добавить комментарий

Войти с помощью: 

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам:

Заполните форму и наш менеджер перезвонит Вам в самое ближайшее время!

badge
Обратный звонок 1
Отправить
galka

Спасибо! Ваша заявка принята

close
galka

Спасибо! Ваша заявка принята

close