Wordpress не отрабатывает произвольный php код в теле страницы
Вывожу список последних статей на главной странице wordpress используется elementor для визуального редактирования, и виджет произвольной вставки php кода Код работает и выводит последние посты если я авторизован как админ, если смотреть с режима инкогнито код не отрабатывает и выводится на форнт часть кода текстом: Результат в режиме инкогнито:
Почему код может не отрабатывать?
<div class="last_news_home_head"><h2>Новости экономики и финансов</h2></div>
<div>
<?php $catquery = new WP_Query( 'posts_per_page=3' ); ?>
<ul>
<?php while($catquery->have_posts()) : $catquery->the_post(); ?>
<div class="home_page_last_post" >
<div class="widget-home-news-img">
<?php echo get_the_post_thumbnail(); ?>
</div>
<div class="home_page_last_post_content">
<li><h3><a href="<?php the_permalink() ?>" rel="bookmark"><?php the_title(); ?></a></h3>
<div class="home_page_last_post_df" >
<?php echo get_the_date('j F Y в H:i'); ?>
</div>
<div class="home_page_last_post_prevtxt" > <?php the_excerpt(); ?>
</div>
<?php the_tags( ' ', ' '); ?>
</li>
<div class="home_blog_b_news_previevs_content_btn">
<a href="<?php the_permalink() ?>">Узнать больше</a>
</div>
</div>
</div>
<?php endwhile; ?>
</ul>
<?php wp_reset_postdata(); ?>
</div>
Ответы (1 шт):
В WordPress запрещено вставлять произвольный php-код в записи, есть способ выключить эту защиту, но это огромная дыра в безопасности, оно вам надо? Но есть другой более безопасный метод путём создания плагина и шорткода. Можно прочитать про создание шорткода здесь.
Вот пример простого шорткода:
function text_shortcode() {
return 'Привет, мир!';
}
add_shortcode('textshortcode', 'text_shortcode');
Если вы вставите [textshortcode] в запись, то увидите: Привет, мир! По аналогии, вы можете поступить со своей проблемой.
