Последние новости:

Поиск по сайту:

...в красоте милей простота.. (Овидий).

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

2 мин для чтения
1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (Пока оценок нет)
Загрузка...
21.06.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';
}
?>

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

Читать  Как перенаправить HTTP на HTTPS в WordPress

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

<?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

Читать  Как сделать резервное копирование базы данных WordPress вручную

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

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

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

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

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

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

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

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

Читайте также

0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

**ссылки nofollow

0 комментариев
Межтекстовые Отзывы
Посмотреть все комментарии

Статьи партнеров:

Рекомендуемое
Для устранения неисправности на сайтах, довольно часто рекомендуют отключить плагины и включать их по…
0
Оставьте комментарий! Напишите, что думаете по поводу статьи.x

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

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

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

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

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

close

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

close