• ДОБРО ПОЖАЛОВАТЬ В КЛУБ ПО WORDPRESS

    Мы активно растущий клуб по WordPress и нам нужна помощь каждого человека, в том числе и Ваша! Не стесняйтесь и станьте частью большого сообщества.
    Мы делимся новостями, отытом и полезными советами! Пройдите простую регистрацию, чтобы пользоваться всеми возможностями нашего клуба.

    Присоединяйтесь к нам, вам обязательно понравится - Присоединится

О файле functions.рhр

Alcest

ПРОВЕРЕННЫЙ

Alcest

ПРОВЕРЕННЫЙ
Сообщения
30
К большому своему стыду я так и не уяснил для себя назначение файла functions.рhр в теме Wordpress. Нет, я понимаю что туда вписывается код функций необходимых для работы того или иного элемента, сайдбаров, например. Но не понимаю, почему именно в этот файл? Заметил, что кроме помещенного мною в файл кода, со временем в нем появилось множество строк, которые я туда не вставлял. Откуда они могли взяться? Например, добавлял я код для регистрации меню в шаблоне, а через какое-то время нашел чуть ниже точно такой же код, а в админке увидел сообщение о доступности 2 меню. На свой страх и риск удалил "лишний" код, и ничего не развалилось, только доступных для создания меню стало на одно меньше. Что это было? Не понимаю...

Одно понял и запомнил очень хорошо. Файл functions.рhр нужно бекапить перед любыми изменениями в нем. Несколько раз получалось так, что вносил изменения через Notepad и не закрывая редактора обновлял страницу сайта в браузере. Сайт падал, слетала кодировка, а попытки сделать откат в том же Notepad были безуспешны, отмена изменений в редакторе с последующим сохранением ничего не давала, сайт не поднимался. Только замена functions.рhр заранее сохраненным бекапом позволяла вернуть все в первоначальное, работоспособное состояние.
 

Попай

АДМИНИСТРАТОР

Попай

АДМИНИСТРАТОР
Сообщения
3,247
Чудеса прям какие-то, впервые о таком читаю. Может какой-то плагин творил такие чудеса, хотя странно.
 

Alcest

ПРОВЕРЕННЫЙ

Alcest

ПРОВЕРЕННЫЙ
Сообщения
30
Чудеса не чудеса, а файл functions у меня до пола свисает... Много чего в нем, вроде "add_action("admin_head", "_verify_activeatewidgets");", "function _getprepare_widgets()". Что это не знаю, но я этого кода в файл точно не вставлял.

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

ADv

ПРОВЕРЕННЫЙ

ADv

ПРОВЕРЕННЫЙ
Сообщения
7
Чудеса не чудеса, а файл functions у меня до пола свисает... Много чего в нем, вроде "add_action("admin_head", "_verify_activeatewidgets");", "function _getprepare_widgets()". Что это не знаю, но я этого кода в файл точно не вставлял.

И все же, для чего нужен этот файл? Пытался искать информацию в инете, но там либо очень кратко, либо наоборот слишком много и путано, и кажется, что пишущие сами плохо понимают назначение файла functions. Как я понял для себя, в этот файл помещаются функции, которые должны быть доступны для вызова из любого места. Но подозреваю, что мое представление слишком упрощенное и не совсем верное.
В принципе верное. В этот файл добавляются все функции, необходимые для работоспособности темы (если другое не предусмотрено ее автором). По-умолчанию, все функции пишутся в него. Если же автор пожелает разнести их по директориям (например, framework), а в эти директории уже наплодить свою структуру файлов с кодом, то файл functions.php может остаться и пустым. Если мне не изменяет память, то ни плагины, ни тема в него во время работы сайта ничего не пишут. И всё, что там появляется новое, исключительно Ваших рук дело. Плагины живут в отдельной папке и из своих уже папок вызывают свои функции.
 

Попай

АДМИНИСТРАТОР

Попай

АДМИНИСТРАТОР
Сообщения
3,247
Если мне не изменяет память, то ни плагины, ни тема в него во время работы сайта ничего не пишут.
На сколько я знаю - это тоже так. Но как заявляет @Alcest от куда-то код добавляется постоянно. Конечно если он не страдает провалами в памяти(не в обиду будет написано). Может как вариант сайт заражен вирусом. Но повторюсь я о таком читаю в первой.
 

Alcest

ПРОВЕРЕННЫЙ

Alcest

ПРОВЕРЕННЫЙ
Сообщения
30
Провалов нет, гарантирую :) Вирусов тоже нет, этот шаблон пока только на Денвере на домашнем компьютере, а он у меня вдоль и поперек прочесан касперским.

Попробовал забивать строчки из файла в поиск, Яндекс что-то о хуках выдает. Чуть позже почитаю.
 

Maks

ПРОВЕРЕННЫЙ

Maks

ПРОВЕРЕННЫЙ
Сообщения
33
Провалов нет, гарантирую :) Вирусов тоже нет, этот шаблон пока только на Денвере на домашнем компьютере, а он у меня вдоль и поперек прочесан касперским.

Попробовал забивать строчки из файла в поиск, Яндекс что-то о хуках выдает. Чуть позже почитаю.
Вот этим постом все и сказано по поводу "провалов памяти". Вы давно Денвером пользуетесь? У многих поначалу с ним проблемы возникают, так как при замене некоторых файлов Denwer нужно перезапускать. Сам долгое время не мог разобраться в чем проблема. Это как вариант, если же все делаете правильно, нужно дальше следить за реакцией движка, что он там куда записывает. Попробуйте тему сменить, посмотреть, что будет.
Что касается файла functions.php, то этот файл очень важный, в него можно писать буквально любой код, в нем вы можете писать свои плагины, в нем вы подключаете файлы .css, .js и тп. В общем, практикуйтесь и по мере создания нового функционала сайта поймете что к чему. Лучше всего создайте тему самостоятельно, это не сложно, зато когда будете создавать ту же пагинацию, вам нужно будет кое-что прописать в файле functions.php Для справки по всем функциям советую сайт Для просмотра ссылки Войди или Зарегистрируйся (надеюсь админ пропустит ссылочку)
 

Alcest

ПРОВЕРЕННЫЙ

Alcest

ПРОВЕРЕННЫЙ
Сообщения
30
при замене некоторых файлов Denwer нужно перезапускать.
А если не перезапускать, тогда "лишний" код в файле появится? На самостоятельно установленной и настроенной связке Апач-ПХП-Мускул та же самая проблема с functions.рhр, без всякого Денвера. И если я перенесу сайт с темой на хостинг, мне чего теперь, всякий раз в ходе экспериментов просить администрацию хостинга сервер перезагрузить? Боюсь, они не пойдут мне навстречу :)
 
Последнее редактирование:

Maks

ПРОВЕРЕННЫЙ

Maks

ПРОВЕРЕННЫЙ
Сообщения
33
А если не перезапускать, тогда "лишний" код в файле появится? На самостоятельно установленной и настроенной связке Апач-ПХП-Мускул та же самая проблема с functions.рhр, без всякого Денвера. И если я перенесу сайт с темой на хостинг, мне чего теперь, всякий раз в ходе экспериментов просить администрацию хостинга сервер перезагрузить? Боюсь, они не пойдут мне навстречу :)
По поводу перезапуска локального сервера я сказал только про сам Denwer, читайте внимательнее;). Вы по ходу и в Денвере не полностью разобрались (без обид). На хостинге ничего перезапускать не нужно будет. Как вариант, предлагаю сделать бекап сайта, а тестовый вариант запустить на том же Денвере, только отключить по максимуму плагины, все, которые только можно. Посмотрите реакцию. Также попробуйте временно сменить тему, если вы ее качали с интернета, а не делали сами, разработчики могли че-нибудь туда закинуть. При смене темы, также для чистоты эксперимента удалите все темы, кроме какой-нибудь одной, новой. Удачи! Надеюсь результатами поделитесь :)
 

Топ поддержки


Сверху