No Image

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

СОДЕРЖАНИЕ
18
08 февраля 2019

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

Здравствуйте все кто посетил мой блог. Недавно передо мной возникла проблема, один товарищ попросил настроить ему функцию самых лучших комментаторов, потому как у него ничего не получалось чтобы он делал. А все было в одной загвоздке, не было настроено отображение 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
  • http://infa-best.ru/ Анна

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

    • https://wpsovet.ru Лифанов Валентин

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

  • http://usvinternet.ru/ Андрей

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

    • https://wpsovet.ru Лифанов Валентин

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

  • http://igorchernomoretz.com Игорь Черноморец

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

    • https://wpsovet.ru Лифанов Валентин

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

      • http://igorchernomoretz.com Игорь Черноморец

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

        • https://wpsovet.ru Лифанов Валентин

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

          • http://igorchernomoretz.com Игорь Черноморец

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

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

          • https://wpsovet.ru Лифанов Валентин

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

          • http://igorchernomoretz.com Игорь Черноморец

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

          • https://wpsovet.ru Лифанов Валентин

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

  • http://moikomputer.ru Валерий

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

    • https://wpsovet.ru Лифанов Валентин

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

  • http://moikomputer.ru Валерий

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

    • https://wpsovet.ru Лифанов Валентин

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

  • http://moikomputer.ru Валерий

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

    • https://wpsovet.ru Лифанов Валентин

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