Size: a a a

WordPress Russian Community

2021 November 24

YJ

Yumeko Jabami in WordPress Russian Community
🤔
источник

YJ

Yumeko Jabami in WordPress Russian Community
Ого, сколько опций
источник

N

Nonverbis in WordPress Russian Community
#вопрос

Я делаю внешний (Гугловый) поиск для сайта. Взял у Гугла код для вставки на сайт, сохранил в базу данных.

В своей дочерней теме создал файл searchform.php

Вот его код:
https://dpaste.org/LvKW

Я активировал свою тему. Код работал.

Но если теперь активировать любую другую тему, например, двадцать двадцать, а потом снова свою, то взрывается:

[Wed Nov 24 16:11:22 2021] [error] [client 54.36.149.78:60005] PHP Fatal error:  Cannot redeclare get_search_code() (previously declared in /home/g/grablmz2/galina.xyz/public_html/wp-content/themes/nonverbis/searchform.php:9) in /home/g/grablmz2/galina.xyz/public_html/wp-content/themes/nonverbis/searchform.php on line 9


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

YJ

Yumeko Jabami in WordPress Russian Community
Попробуй добавить обертку с проверкой на существование функции

if(!function_exists('get_search_code')) {
// Здесь функция get_search_code()
}
источник

N

Nonverbis in WordPress Russian Community
спасибо за ответ. пошел пробовать.
источник

YJ

Yumeko Jabami in WordPress Russian Community
Ошибка вполне доступным языком говорит тебе, что функция get_search_code() декларировалась в коде. Так что вероятно, проверка не будет декларировать эту твою функцию снова(но и результат может отличаться от ожидаемого)
источник

YJ

Yumeko Jabami in WordPress Russian Community
ммм, Женский журнал))
источник

N

Nonverbis in WordPress Russian Community
Я не понимаю сообщение об ошибке.
почему оно возникает при смене темы?
где я мог функцию объявить, если она у меня в одном только месте.
в общем, не хватает опыта.
источник

YJ

Yumeko Jabami in WordPress Russian Community
Во первых стоит пройтись поиском по файлам, нормальным IDE типа phpStorm, во вторых, функции принято декларировать в functions.php в теме, а не в других файлах
источник

N

Nonverbis in WordPress Russian Community
я наоборот хотел functions.php сделать худым. а бизнес-логику вытолкнуть в другие файлы.
источник

YJ

Yumeko Jabami in WordPress Russian Community
У нас за такое за гаражами пальцы ломают
источник

N

Nonverbis in WordPress Russian Community
а где прочитать про структуру проекта?
источник

YJ

Yumeko Jabami in WordPress Russian Community
Достаточно посмотреть как это делается в дефолтных темах вп
источник

АП

Артём Приходько... in WordPress Russian Community
А доставка и оплата? Тоже сами будете реализовывать?

Вукомерс используют миллионы сайтов, они не могут ошибаться
источник

АП

Артём Приходько... in WordPress Russian Community
Иерархия шаблонов вордпресм
источник

N

Nonverbis in WordPress Russian Community
Так это же не шаблон.
источник

YJ

Yumeko Jabami in WordPress Russian Community
все содержимое /wp-content/themes/themeName - есть шаблон.
источник

АП

Артём Приходько... in WordPress Russian Community
Нет. Это тема. А шаблон это файл в папке темы
источник

YJ

Yumeko Jabami in WordPress Russian Community
Содержимое в themeName - есть шаблон.
а themeName - это тема.

Change my mind, if you can :D
источник

АП

Артём Приходько... in WordPress Russian Community
Что не шаблон? Functions.php? Таки да, это файл для логики темы и вы можете в нем подключать другие файлы с кодом для достижения нужной страктуры
источник