petroff

Как поменять имя класса в шаблоне или плагине вп, чтобы после обновления оно не изменилось?

10 posts in this topic

Ситуация следующая.

Есть необходимость в шаблоне wordpress поменять

<h4 class="stariy-class"></h4>

на 

<div class="noviy-class"></div>

Как это возможно сделать, чтобы после обновления шаблона ничего не поменялось? Не обновлять шаблон не вариант.

Примерно тоже самое нужно сделать в коде некоторых плагинов

Share this post


Link to post
Share on other sites
16 минут назад, DevilStar сказал:

https://developer.wordpress.org/themes/advanced-topics/child-themes/

гуглится по запросу - wp child theme

Нет, это не то. В вордпрессе html код выводится из файлов шаблона, а в дочерней теме только свой style.css создается, файлы шаблона все равно обновляются

Я, кстати, гуглил. Странно, что ни у кого такой необходимости не было

Edited by petroff

Share this post


Link to post
Share on other sites

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

Но если вы считаете иначе, удачи в поисках решения.

Share this post


Link to post
Share on other sites
Цитата

В вордпрессе html код выводится из файлов шаблона

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

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

function replace_text($text) {
  $text = str_replace('<h4 class="stariy-class"></h4>', '<div class="noviy-class"></div>', $text);
  return $text;
}
add_filter('the_content', 'replace_text');

 

petroff likes this

Share this post


Link to post
Share on other sites
В 15.05.2019 в 11:53 AM, DevilStar сказал:

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

 

3 часа назад, files сказал:

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

Спасибо, я много раз делал дочерние шаблоны, но только с файлом style.css. И почему-то прощёлкал тот момент, что в папку с дочерней темой можно еще и файлы исходного шаблона скопировать и это будет работать

 

А когда какой-нибудь блок на странице выводится через файлы плагина, то только такое решение наверное и подойдет

3 часа назад, files сказал:

function replace_text($text) {
  $text = str_replace('<h4 class="stariy-class"></h4>', '<div class="noviy-class"></div>', $text);
  return $text;
}
add_filter('the_content', 'replace_text');

 

 

Share this post


Link to post
Share on other sites
25 минут назад, petroff сказал:

А когда какой-нибудь блок на странице выводится через файлы плагина, то только такое решение наверное и подойдет

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

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

petroff likes this

Share this post


Link to post
Share on other sites
3 минуты назад, c00x сказал:

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

Речь в основном про замену заголовков и классов в сайдбаре и футере, а там вроде все выводится через виджеты

Share this post


Link to post
Share on other sites

За заголовки виджетов в сайдбаре и футере в большинстве случаев отвечает тема. Так что их можно подменить через дочернюю тему, как уже сказал DevilStar (гуглите функцию register_sidebar и фильтр widgets_init).

Если возникнет проблема непосредственно с шаблонами виджетов/плагинов, попробуйте почитать документацию этих плагинов - возможно у них есть хуки для кастомизации. Если своими силами решить проблему не получится, можете обратиться в личку.

petroff likes this

Share this post


Link to post
Share on other sites
5 минут назад, c00x сказал:

Если своими силами решить проблему не получится, можете обратиться в личку

Спасибо, я думаю, что сам сделаю. Тем более пока на статейном ГС экспериментирую

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now

  • Recently Browsing   0 members

    No registered users viewing this page.