Написал несколько простых шорткодов. Помещаю их на страницу в админке, в которой уже есть html-код разметки. Т.е все это выглядит примерно так:
<div class="row">
<div class="col-md-12">[shortcode]</div>
</div>
И не смотря на то, что этот блок находится в самом низу, работа шорткода показывается всегда вверху страницы, сразу после контента из header.php. Почему такое происходит?
Сам шорткод:
function promo_block($atts, $content = null) {
extract(shortcode_atts(array(
"img" => '',
"description" => '',
"title" => ''
), $atts));
echo '<div class="col-md-4 promo-block">
<img src="'.get_template_directory_uri().'/img/svg/'.$img.'.svg" height="64" alt="">
<h3>'.$title.'</h3>
<p>'.$description.'</p>
</div>';
}
add_shortcode("pb", "promo_block");
В файле index.php:
<?php get_header(); ?>
<?php if (have_posts()) : while (have_posts()) : the_post(); ?>
<?php the_content(); ?>
<?php endwhile; else: ?><?php endif; ?>
<?php get_footer(); ?>