Я регистрирую короткий код, но он не работает должным образом. Когда я помещаю короткий код в свое сообщение или страницу, он не работает. Но когда я напрямую использую функцию do_shortcode, это нормально работает.
Это то, что я регистрирую в своем функциональном файле
function world_news_section_shortcode($atts, $content ) {
$atts = shortcode_atts(
array(
'section-heading' => '',
'section-more' => '',
'section-link' => '',
), $atts, 'world_news'
);
ob_start();
$world_news = new WP_Query(array(
'post_type' => 'post',
'posts_per_page' => 3,
'category_name' => 'world',
));?>
<div class="lattest-post">
<h2 class="lattest-post-head"><?php echo $atts['section-heading']; ?></h2>
<a href="<?php echo $atts['section-link']; ?>" class="lattest-more"><?php echo $atts['section-more']; ?></a>
<?php while ($world_news->have_posts()) : $world_news->the_post(); ?>
<div class="lattest-post-contant">
<?php the_post_thumbnail( 'image_post' ); ?>
<h4><?php the_title(); ?></h4>
<?php the_excerpt(); ?>
<a href="<?php the_permalink(); ?>">Read More</a>
</div>
<?php endwhile;?>
</div>
<?php $world_news = ob_get_clean();
return $world_news;
}
add_shortcode( 'world_news', 'world_news_section_shortcode' );
Я использую этот короткий код в своем посте и странице. Но не работает.
[world_news section-heading="World news new" section-more="More+" section-link=""]
Но когда я использую этот код прямо на моей странице индекса, он отлично работает.
<?php echo do_shortcode('[world_news section-heading="World news new" section-more="More+" section-link=""]'); ?>
Почему мой короткий код не работает на пост и страницу?
Задача ещё не решена.
Других решений пока нет …