Ну вот есть виджет, который выводит дату и время, а мне не нужна дата в текущем шаблоне или мне не нужны теги в который этот виджет обернут. Я могу поменять все в самом виджете, но в этом случае изменения коснуться и других шаблонов, в которых, тоже нужно другое оформление виджета, да и хочется не ломать оригинал.
Я знаю, что в Joomla можно было создать новый View виджета в теме и этот View подключался бы заместо оригинала. Вот мне интересно как подобная проблема решается в Wordpres.
а просто убрать ненужные виждеты в управлении виджетами?
что то я тоже не совсем понимаю топикстартера…
в джумле и вордпресс немного разная идеология)
Мне не нужно убирать виджет.
Допустим виджет выводит вот такой код:
<div id=»time-and-data»>
2013/22/3 15:48
</div>
А я хочу, что бы выводилось:
<span id=»time-and-data»>
2013/22/3
</span>
Лезть в ядро и менять там код — не правильно.
Нужно как то изменить оформление из под темы.
Лезть в ядро и менять там код — не правильно.
Первая разумная мысль.
Остальное, извините, какое-то не связное бормотание. У меня ощущение, что Вы просто не знаете\не понимаете структуру ВП. Вероятно даже не знаете что такое виджет (в ВП).
Возможно чем-то сможет помочь изучение структуры тем и иерархии шаблонов.
Или давайте попробуем отталкиваться от конкретной задачи. Что куда и как Вы хотите вставить (\убрать)?
Я хочу изменить виджет, что бы он соответствовал текущей теме. Что бы он выводил дополнительную информацию или наоборот что то убрать. То есть, по сути нужно изменить функцию widget() отвечающую за отображение виджета. Я не хочу лезть в сам код виджета, так как в этом случае каждый раз при установке темы придется менять еще и код в виджете или при обновлении виджета все изменения затрутся. Как решить эту проблему?
по сути нужно изменить функцию widget()
Вот если бы Вы не придумывали функций, а воспользовались документацией — всё бы стало на свои места. И тогда Вы бы смогли изъясняться понятно.
А так, сорри. Я Вас не понимаю.
отвечающую за отображение
За отображение ВЕЗДЕ «отвечает» CSS.
Вот простейший пример:
class My_Widget extends WP_Widget {
public function __construct() {}
public function form( $instance ) {}
public function update( $new_instance, $old_instance ) {}
…
public function widget( $args, $instance ) {
…
echo $date.’ / ‘.$time;
}
}
register_widget( ‘My_Widget’ );
Как видим метод widget выводит дату и время разделенные знаком «/», а мне хочется что бы выводилась только дата или, например, они разделялись другим знаком.
Как это сделать не трогая оригинальный код виджета?
А что мешает создать потомка от системного класса нужного виджета WordPress?