Код php в виджете wordpress очень полезная мелочь

функции в виджетах

Здравствуйте все кто посетил мой блог. Недавно передо мной возникла проблема, один товарищ попросил настроить ему функцию самых лучших комментаторов, потому как у него ничего не получалось чтобы он делал. А все было в одной загвоздке, не было настроено отображение php в виджете wordpress о котором напишу ниже.

Предыстория.

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

что не срабатывало

В общем дошло до того что шаблон заклинило, и сайт лег. Слава богу резервная копия была сделана, и мы все восстановили. И тут я вспомнил, что старые темы не поддерживают php код в виджетах вот в чем проблема. Объясню понятнее, вся фишка в том что если на прямую встраивать php, то он сработает безоговорочно. Но почему-то если вы вставляете функции через виджеты, то они не работают, видно это косяк самого движка, но не суть

Ладно хватит трепа, переходим к решению проблемы.

Устраняем недостаток.

А все делается очень просто, простым добавлением нескольких строчек в function.php. Для начала даю вам те самые строчки которые надо прописать, вот они.

// PHP в сайтбаре
function php_in_widgets($widget_content) {
if (strpos($widget_content, '<' . '?') !== false) { ob_start(); eval('?' . '>' . $widget_content);
$widget_content = ob_get_contents();
ob_end_clean();
}
return $widget_content;
}
add_filter('widget_text', 'php_in_widgets', 99);

Итак, заходим в редактор wordpress и находим там необходимый документ, смотрите ниже на скриншот и к нему описание, все ваши действия пронумерованы по порядку, так что не промажете.

Не забываем делать резервные копии файлов, которые будете изменять.

вставляем код поддержки php в виджетах

  1. Это сам путь до редактора в панели вордпресса.
  2. Файл function.php который и будем править.
  3. и 4. Верхний квадрат это сам код, который и будет выводить php в виджете wordpress и нижний это, то место куда надо вставлять, то есть самый низ файла, перед тем знаком указанным на снимке.
  4. Обновляем файл и радуемся.

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

P.S. А вы знали про эту фишечку, и приходилось ли вам сталкиваться с такими проблемами?

Понравилась статья? Поделиться с друзьями:
Комментариев: 18
  1. Анна

    Да уж, такие «мелочи» подстерегают нас на каждом шагу и далеко не каждому удается справляться с ними. :cool:

    1. Лифанов Валентин (автор)

      На этот момент и нужны такие как я :)

  2. Андрей

    Ну надо же. И тут может быть подвох. На заметке :cool:

    1. Лифанов Валентин (автор)

      Андрей, он везде :)

  3. Игорь Черноморец

    Привет Валентин. Если бы я прочитал твою статью полтора года назад, то визжал бы как свинья от радости :twisted: У меня как раз была такая проблема со старым шаблоном, но…сейчас таких проблем с выводом php в виджете нет!
    В любом случае, спасибо за информацию

    1. Лифанов Валентин (автор)

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

      1. Игорь Черноморец

        Хах ))) Спасибо за комплимент :cool:
        Но копирайтер с меня не выйдет, хотя бы из-за того, что я очень, очень, очень, приочень медлено пишу статьи. Для меня каждая статья опубликованная на блоге это целый проект :arrow:
        Каждая статья пишется минимум два-три дня и переписывается по 10 раз. Представь, если я получу заказ на 5-10 статей, которые должен написать в течение недели… :razz:
        Так что, не грозит мне карьера копирайтера! Но…черт побери, приятно было услышать от тебя эти слова, спасибо :grin:

        1. Лифанов Валентин (автор)

          Так на то они и копирайтерские, что пишешь не для себя, все будет идти быстрее. Но тоже надо привычку конечно, и опять таки ощущение работы, надо обязательно, что и напрягает. Я сейчас сижу у компьютера, наконец купил кейколлектор, вот сейчас парсю всех конкурентов, все узнаю, никто от меня не уйдет, долгий процесс блин :) , думаю чем занятся.

          1. Игорь Черноморец

            Нет Валентин, для меня не важно, пишу ли я для себя или для клиента, всё равно я буду выкладываться по полной. Вот прочитай мою статью, которая на тему заказных статей. Это моя личная история, произошедшая полгода назад — igorchernomoretz.com/chelovek-predpologaet-sudba-raspologaet.html
            Статья закрыта паролем (поймёшь почему так, когда прочитаешь) А вот и пароль — olga1979

            По поводу Киколектор…Ну и что ты там про меня напарсил? :???:

          2. Лифанов Валентин (автор)

            Твой блог не парсил, позже может :) Итак насобирал 35000 запросов, надо их сортировать.

          3. Игорь Черноморец

            Ухххх!!! И откуда у тебя столько терпения? А самое главное…времени?
            Ну…желаю тебе удачи!

          4. Лифанов Валентин (автор)

            Сам удивляюсь Игорь.

  4. Валерий

    Валентин у меня тоже проблема с топом комментаторов последнее обновление WordPress не хочет работать с ним. в чем может быть причина?

    1. Лифанов Валентин (автор)

      А что именно не работает, я к тебе зашел, вроде все в норме?

  5. Валерий

    В сайдбаре просто код отображается вместо комментаторов. Сейчас все работает потому, что я откатил wordpress.

    1. Лифанов Валентин (автор)

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

  6. Валерий

    Не получается слетает блог от этого кода, что-то не то.

    1. Лифанов Валентин (автор)

      Валер давай на прямую, через почту, там посмотрим.

Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!:

57 queries in 0,225 seconds.