возможно заказать разработку или сопровождение, услуги вашего сайта/блога


обновлено: 2024-02-13 в теме: Бардачок html php css
Запросто с WordPress создание и продвижение сайтов ATs media

Задаём отработку PHP кода в виджете

У нас никак не получается прописать какой-то код PHP в виджет? …то есть прописать-то получается, а вот заставить его работать – нет! – хотя удалось раздобыть такую здоровскую примочку в web волнах интернетing))

Трагедия, думается нам! Но это не так! Для этого существует ФИЛЬТР-РАЗРЕШЕНИЕ на отработку php функций в виджетах сайдбара, но ! обо всём по порядку…

(После обновления Вордпресс 4.8 эта статья как бы стала не очень актуальной, ибо и функционал WP виджетов несколько обновился! стало не очень удобно работать с php кодом в текстовом виджете, который позволяет управлять контентом более тонко!

Как вернуть старый текстовый виджет? …чуть ниже будет ссылка на пост, в котором решение задачи)


 

Об особенностях читайте шуточное: PHP и HTML в чём отличие

 

 

 

 

Расширяем php возможность виджетов

 

 

 

Внимание!!

 

…админам, которым не хочется копаться в коде лично, смею предложить свой плагин widget-text-class-ats, который создаёт классический текстовый виджет.

 

Плагин умеет:

сразу же после установки и активации, в разделе “виджеты” появится новый RealMik – html, php, шорткод… – в текстовое окошко которого возможно прописывать любые php коды или шорткоды, которые тут же отработают на стороне фронтэнда!

Плагин не вызывает нагрузок на сервер… и никаких конфликтов скриптов!

Скачать плагин-виджет запросто !! в репозитории Вордпрес – WordPress.org или на страничке по ссылке выше.

 

 

 

widget-text-class-ats

 

 

 

 

 

Но, для тех, которые хотят разобраться с механикой отработки php в виджете лично!! – ниже подробная статья:

 

 

 

Итак

 

Например, вы хотели, не применяя плагинов !!! расширить возможности своего блога, а именно, прописать код ТОП-комментаторов (полезная штука для оптимизации)) ну, или что-то иное, не важно… И, когда вы подошли к основному процессу выбора места, для «примочки», то, естественно, многие предпочитают прописывать этот код в виджете сайдбара – это удобно – да вот беда: такую возможность система WordPress изначально почему-то запретила КОМАНДОЙ на запрет отработки php в виджетах сайта/блога.

 

 

И что же!?

…всё бросать!? …когда уже в файл функций прикручен код ТОПа комментаторов, да и в файле CSS уже есть какие-то симпатичные задумки-намётки..??

 

 

Задаём отработку PHP кода в виджете

 

 

 

 

 

 

Ни в коем случае. Для реализации отработки php в виджете, существует множество возможностей и разных способов ( ХАКОВ), которые дают команду системе WordPress «разрешить» пользовательские (то бишь наши) настройки, если сказать просто. Ну, ладно…

 

…реализуем возможность прописки и отработки PHP-кода в наших виджетах.

 

 

 

Разберёмся прямо…

 

 

 

 

Как прописать в виджет и заставить работать код php

 

 

 

 

…чтобы всё заработало!

 

Нам потребуется дополнить наш файл функций следующим ниже кодом:
просто пропишите его в наш легендарный файл functions.php и всё. Как это делается!?

 

Открываете упомянутый документ и перед значком ?> (сделав необходимые отступы от соседних скриптов — «Enter») дописываете следующий пример: (к примеру, коли код ТОП коммов у вас установлен, то следующий вписываете после него – так, возможно, будет понятнее для дальнейшего пользования файлом)

 

 

 

// отработка php в виджете
add_filter('widget_text','sp_widget_execute_php',100);
function sp_widget_execute_php($text) {
if(strpos($text,'<?') !== false) {
ob_start();
eval('?>'.$text);
$text = ob_get_contents();
ob_end_clean();
}
return $text;
}
// фин отработка php в виджете

 

 

 

Теперь готово! – этим кодом обычный текстовый виджет (теперь по умолчанию) будет читать (выполнять) любой PHP-код.

И как только вам потребуется «прописка» какого-то иного, на ваше усмотрение, PHP кода в сайдбаре… то останется только открыть текстовый виджет и добавить в него нужную кодированную строку, которая тут же включится в правильную отработку…

 

Всё! Вы получили результат вашей сегодняшней работы, а блог — инструмент ФИЛЬТРА на ЗАПРЕТ cmsWordPress использовать PHP-код в виджетах.

 

 

 

Немного об общих правилах написания строк кода:

 

 

…вероятно, встречали, когда автор какой-то полезной статьи напоминает, что нужно тот или иной НОВЫЙ код ФУНКЦИЙ прописывать до тега ?>

 

 

Почему так?

 

 

…А всё дело в том, что при прописке кода в файл functions.php, например, необходимо придерживаться определённых правил языка программирования: в частности, размещать код нужной функции внутри общей сборной конструкции файла функций < ?php   КОДЫ ? > внутри которой размещаются добавочные, скажем так – а сегодня мы как раз и добавили ещё один новый в эту конструкцию документа функций.

 

 

А именно, после <?php НО перед тегом ?>, который и говорит о финале же ОСНОВНОЙ конструкции-документа  (однако стоит помнить: бывают и исключения в вариантах размещения кода!!)

 

Итак: вот перед этим ?> финалом и нужно прописать необходимую нам дополнительную функцию (вживлять её в основной документ – что мы сегодня замечательно выполнили).

 

 

 

Ну и очевидно, что НЕЛЬЗЯ нарушать целостность других автономных рабочих функций нашего файла functions.php (т.е прописывать новый код внутри рабочих циклов уже установленных…)

 

 

 

В завершение…

 

 

 

 

 

о правилах прописки кодов

 

 

 

 

 

 

…кое-что полезное: в сам код php возможно вписывать html – обычный текст. Но для этого создают определённые переходы от PHP-языка к HTML или правильно выбирают место…

 

Не знаю, будет ли оченно понятно, но давайте рассмотрим сторонний пример —
строки файла footer.php:

 

 

<?php
?>
 - сайт такой-то - <br /> права защищены
<?php 

 

 

…строка работает как нужно, ибо текст прописан по php правилам!

 

 

…но вот если записать смешивая с HTML-текстом-языком:

 

 

 

<?php
?>

<?php  - сайт такой-то - <br /> права защищены

 

 

Сразу же конфликт c фразой ! ! – сайт такой-то – <br /> права защищены ! ! ибо в этом случае нарушаются условия php программирования – система вордпресс, всё, что писано после тега <? анализирует как php!? …ибо у документа  footer.php как и functions.php соответствующее расширение т.е финальное в имени .php

И, следовательно, конЬфликт ЯЗЫКОКОВ и БЕЛЫЙ ПУСТОЙ ЭКРАН КРАСЯВиШНОГО САЙТА !!

 

 

В нашем случае правильно должно быть примерено так:

 

 

<?php
?>
 - сайт такой-то - <br /> права защищены
<?php

 

 

 

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

А вот админ-комментарии, чтобы не забывать назначения кодов, которых со временем наберётся множество, прописываются проще: сравните самый верхний код…

 

// отработка php в виджете

 

или

 

/*** fin отработка php в виджете ***/

 

 

 

А чтобы ВРЕМЕННО отключить отработку какого-то рабочего кода, не удаляя его из основного файла – существуют иные комментарии  как закомментировать на время код HTML, CSS или PHP

 

 

 

В следующих статьях:

 

рассмотрим – как вводному текстовому выражению задать прямо в html документе требуемый цвет.

 

…Но я бегу вперёд…

 

…об этом далее…

 

 

 

Как вернуть в обновлённый Вордпресс функционал прежнего текстового виджета? с наглядной пропиской и отработкой php кода… Легко..!

 

 

 


...город веб мастеров Михалика.ru © - запросто с WordPress - ATs media squad

 


подписка feedburner Online консультация по настройкам и созданию сайтов на WordPress

 

 

 

 


...вопросы в комментариях - помогу, в чём дюжу...
mihalica.ru !


Михаил ATs - владелец блога запросто с Вордпресс - в сети нтернет давным-давно...

...веб разработчик студии ATs media: помогу в создании, раскрутке, развитии и целенаправленном сопровождении твоего ресурса в сети... - заказы, вопросы... разработка...





Нажатия на кнопочки определяют Ваше высокое гражданское сознание

Поделитесь соображениями: Ваши мысли очень важны!

Внимание! Обязательные поля помечены *

  отныне доступен плагин: ats privacy policy ©