Вставка PHP кода в сайдбар WordPress, новости сайта

Posted

Новости сайта, каждая из них представляет собой запись, созданную в определенное время — надо вывести в сайдбаре дату и заголовок со ссылкой на запись.

Стандартный виджет Текст позволяет вставить текст, но не исполняемый код. Существуют плагины, например PHP Code Widget, но гораздо проще вставить в файл темы functions.php следующий код:

//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 query_posts(‘showposts=10&cat=1&order=DESC’);?>
<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
<div class="textwidget"><strong><?php the_time(‘j.m.Y’); ?></strong>&nbsp;&#151; <a href="<?php the_permalink();?>"><?php the_title(); ?></a><?php edit_post_link(‘Редактировать’,’ (‘,’)’); ?></div>
<?php endwhile; else: ?><p>Новостей нет, все по старому.</p><?php endif; ?>

cat=1 — категория, к которой относятся записи новостей.


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

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Лимит времени истёк. Пожалуйста, перезагрузите CAPTCHA.

Проверка комментариев включена. Прежде чем Ваши комментарии будут опубликованы пройдет какое-то время.