Вставка PHP в виджетах WordPress
Любой, кто пользуется CMS WordPress, наверное когда-нибудь сталкивались с такой ситуацией, когда нужна была необходимость вставить код PHP в виджет, но конечно же из этого ничего не получалось, так как данная функция по непонятно каким причинам отключена при использовании движка WordPress. В виджетах можно добавлять только простой текст или HTML-код. А так иногда хочется например вставить в виджетах счётчик какого-либо рейтинга, использующего функции php, или даже код вызова ссылок различных бирж купли-продажи ссылок, например таких популярных как SAPE, mainlink или setlinks. Но увы, приходиться использовать различные плагины, ухитрения, хаки и работа руками по редактированию кода страниц шаблона, что иногда может привести к негативным последствиям в работоспособности блога или сайта. Так что не забывайте перед какими-либо манипуляциями с редактированием сделать резервную копию, в нашем случае это тоже необходимо сделать. Не стоит надеятся на резервную копию вашего хостера, а если у вас бесплатный хостинг сайтов, то скорее всего эта услуга и не предоставляется, но зато бесплатно.
Для того чтобы PHP-код в виджете всё же исполнялся, необходимо всего лишь в файл functions.php используемой вами темы wordpress вставить следующие строки кода:
add_filter('the_posts', 'update_comment_type_cache'); 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 тегом ?>. Обязательно редактировать файл functions.php через консоль управления «Внешний вид — Редактор — functions.php», так как иначе может слететь кодировка страницы.
Очень удобно, нет необходимости теперь редактировать непосредственно файлы шаблона sidebar.php. а также реализуем функцию добавления php в виджетах wordpress без плагинов.
- Warning: Parameter 1 to update_comment_type_cache()
- Отображение миниатюр во всех разделах шаблона WordPress
- Редизайн интернет–проекта
- Обновление тематик в SapientGenerator
- Как я не люблю скрытые внешние ссылки