Но, такой вариант, что после каждого обновления темы, вносить изменения — меня не устраивает.
Специально для вас разработчики придумали механизм Дочерних Тем, http://codex.wordpress.org/Дочерние_темы
Позволяет легально вносить изменения, не сильно беспокоясь о судьбе оригинала 🙂
Дочерняя тема решает эту задачу легко. Согласен. Но, интересно можно ли решить эту задачу через функции темы.
Модератор
Юрій
(@yube)
Но, интересно можно ли решить эту задачу через функции темы.
Если «после каждого обновления темы, вносить изменения — меня не устраивает«, то нет — functions.php также обновляется при обновлении Темы. Либо делать дочернюю, либо плагинчик.
Юрий, дочернюю тему я создал, файл в котором изменения нужно сделать нашёл. Ручками можно всё подправить. Но, ведь есть функции фильтрации (автозамены), простите если неверно выражаюсь. Уверен, подобный метод автоматизации многим интересен и будет полезен.
Но, ведь есть функции фильтрации (автозамены), простите если неверно выражаюсь. Уверен, подобный метод автоматизации многим интересен и будет полезен.
есть. Но вот целесообразность его применения в данном случае весьма сомнительна. Это, как минимум, доп нагрузка.
ведь есть функции фильтрации
Не всё так радужно, как может показаться на первый взгляд. Прежде всего — эта «неизвестная величина», которую хотим отфильтровать, должна быть подготовлена к такой участи создателем кода. Если такой подготовки/возможности не предусмотрено, то вы не сможете пойти другим путем, окромя «править код ручками в дочке».
Покажу на виртуальном примере, как это работает:
Допустим, я автор темы и сочинил такой код
echo 'My Content';
Как бы вы не крутили кубик рубика, то собрать пазл не сможете, только в дочке переписать сей код/файл целиком на свой лад.
Ладно, теперь я вежливый кодер и написал такой код
echo apply_filters( 'my_content', 'My Content' );
В этом примере вы сможете использовать подобный метод автоматизации, таким образом
function IWantModifyContent( $content ) {
return 'Yep, it\'s my content now!';
}
add_filter( 'my_content', 'IWantModifyContent' );
Но!
1. Ваш код должен быть выше (исполняться/подключаться раньше) моего фильтра (такова природа хуков).
2. Всё-равно придётся использовать фильтр в дочерней теме или своем плагине (иначе — обновление, все дела).
3. Ещё один минус — это растущий стек хуков.. Их и так немало в движке 🙂
Ребята, спасибо за помощь. Я действительно, даже и не задумался о возросшей доп. нагрузке.
Теперь принцип реализации мене понятен. Но, как правильно вы подметили — целесообразность нулевая.
Пойду, и быстренько подправлю ручками 😉 Ещё раз, всем СПАСИБО за помощь!