X

Где находятся стандартные виджеты WordPress

Понадобилось немного подправить стандартный виджет календаря WordPress. Начал поиски этого скрипта, сам виджет оказался тут:
www/wp-includes/default-widgets.php
но вывод календаря находится совсем в другом файле, а именно в функции: get_calendar
которая распологается тут:
www/wp-includes/general-template.php

Теперь Вы можете не терять время на поиски кода виджета: календарь 🙂

Категории: CMS Wordpress
Тэги: widgets

Комментарии (22)

  • Здравствуй Олег! Помоги, пожалуйста. Я удалил из неактивных виджетов стандартное облако тегов, а восстановить из стандартных настроек темы Sight не получается, т.к. не могу зайти в настройки (Экран настроек не открывается, глюк с темой. Она перенастроена). Не мог найти файл с записью 'WP_Widget_Tag_Cloud'. Как исправить положение? Спасибо.

  • Огромезнейшее спасибо. =) Два часа убила на поиски !!!

  • Добрый день.
    Подскажите пожалуйста, хочу в виджетах поменять обертку заголовка - чтобы она была не в Н2, а в span.
    Где найти код заголовка?
    Искал в указанных вами файлах, не смог найти. Нашел что-то подобное в файле widgets.php (в той же папки, которую вы указали) - изменил на span, но на сайте изменения не отобразились.
    Помогите пожалуйста разобраться.

  • Спасибо, Виталий! само востановилоось. вчера пол дня искал причину отключал, оно ни в какую, сегодня само нормализовалось!

  • Здравствуйте, такой вопрос:
    Захожу в пункт ВНЕШНИЙ ВИД дальше НАСТРОИТЬ а там нет пункта ВИДЖЕТЫ хотя раньше были, недавно установленные плагины удалял, не помогло, что делать и как их вернуть на место?

    • Привет! У меня управление виджетами находится в Админка->Внешний вид->Виджеты
      Если у тебя их там нет, советую следующее:
      1) Поочередно отключить плагины и следить появится или нет
      2) Если не помогло, тогда попробовать сменить тему (Внешний вид > Темы)
      3) Если не помогло, попробовать сделать бэкап постов, после чего поставить чистый WP и восстановить посты. Только тут надо учесть что надо делать именно бэкап постов, а не всей базы.

  • Здравствуйте, Виталий. Где искать стандартные виджеты, это понятно. Проблема вот в чём! Например: виджет "Свежие записи". Где найти виджет - понятно. Но там нету самой надписи "Свежие записи". Где прописан сам текст "Свежие записи", как его можно найти и отредактировать? Буду благодарен, если подскажете. Сам, пока, найти не могу. Спасибо.

    • Здравствуйте Валерий!
      Эту надпись можно поменять прямо из админки. Идете в админки, дальше "Внешний вид", "Виджеты", ищете там виджет в сайдбаре и в нем есть поле "Заголовок", это то что вам надо. Если же Вам надо именно найти это место в коде, для каких-то манипуляций, тогда это тут: www/wp-includes/default-widgets.php , в классе WP_Widget_Recent_Posts есть переменная $title, в последней версии (4.0) это 683 строка. Но, менять что-то прямо там, плохая идея - изменения потрутся при обновлении WP.

  • Виталий, добрый день! Большое тебе спасибо! Все сделал и шапку и календарь.
    С уважением, Анатолий Д.

  • Виталий, добрый день! Спасибо за ответ! У меня просьба, можно указать путь к этому файлу от корневой папки / public_html/wp-content/plugins/, а дальше куда, если вообще туда я выбрал направление? Спасибо.

    • Я не понял какой ты файл ищешь, но думаю что файл стилей, тогда путь такой:
      /public_html/wp-content/themes/НАЗВАНИЕ-ТЕМЫ/style.css
      если файл где выводится шапка, то:
      /public_html/wp-content/themes/НАЗВАНИЕ-ТЕМЫ/header.php
      если файл c функцией в которой находится формирование кода календаря, то:
      /public_html/wp-includes/general-template.php
      последний я не рекомендую изменять, т.к. это надо будет делать после каждого обновления WP. Во время обновления, есть большая вероятность, что файл будет перезаписан.

  • Виталий, добрый вечер! А я думал, что Вы всем помогаете. Спасибо за помощь!

    • Анатолий, привет!
      Я стараюсь помогать всем без исключения, однако у меня не всегда есть на это время.
      Отвечаю на твои вопросы:
      1) Не могу найти код виджета календаря..
      Я проверил, в последней версии WP все находится в тех же файлах, которые указаны в статье. Относительно их названия "на русском", ты что-то путаешь, я думаю. Ты соединился по FTP со своим сервером и у тебя эти файлы называются на русском языке?
      2) Что нужно добавить чтобы выделялась текущая дата?
      В стандартном виджете календаря, к ячейке с текущей датой добавляется id="today", т.е. надо в файл стилей темы (напр. style.css), добавить что-то типа:
      td#today { background-color:blue; color:yellow;}
      3) Как отредактировать шапку сайта, если нет настроек в админке WP.
      Найди где она выводится в теме и отредактируй её вручную, я думаю что это будет примерно тут:
      /wp-content/themes/название-темы/header.php

  • Помогите мне еще внести коррекцию в шапку сайта, исправить картинку, где ее найти, чтобы отредактировать и снова вставить. В старых WP Это можно было сделать в админ-панели WP. В WP 3.9 такой функции нет. Буду очень признатилен Вам. Спасибо.

  • У меня WP 3.9. Найти виджет календаря, чтобы можно сделать выделенную текущую дату, не могу. Путь, который указали Вы www/wp-includes/general-template.php и www/wp-includes/default-widgets.php найти не могу. У меня название папок отображаютя на русском языке.Папка wp-includes, на русском "Включает в себя" у меня есть, а general-template.php, найти не могу. Напишите пожалуйста, где найти мне html-код календаря, и что нужно добавить, чтобы выделялась текущая дата. Спасибо. Анатолий.

  • А в какую папку загружать другие виджеты?

    • Обычно виджет оформляется либо как плагин, тогда в папку:
      www/wp-content/plugins/
      либо прописывается в файле functions.php в самой теме, тогда путь будет вот такой:
      www/wp-content/themes/название-темы/functions.php

  • Благодарю, действительно сэкономили время :) Правда, правки в ядре затрутся со следующим обновлением, но использовать js для обработки готового DOM хочется ещё меньше ;)

    • Все верно. Еще как вариант, можно поискать похожий плагин или оформить самому используя родной код. Но, это все время.. А по поводу правок в ядре, это конечно не правильно :)