#php #html #wordpress #shortcode #wordpress-shortcode
#php #HTML #wordpress #короткий код #wordpress-короткий код
Вопрос:
В настоящее время я пытаюсь добавить шорткод на свой сайт WordPress, но на данный момент он отображается в верхней части страницы вместо позиции, в которой я его разместил.
Все работает хорошо, кроме этой проблемы.
// function that runs when shortcode is called
function testimonial_short() {
if( get_query_var( 'page' ) ) {
$page = get_query_var( 'page' );
} else {
$page = 1;
}
$args = array(
'post_type' => 'drivers',
'posts_per_page' => 4,
'paged' => $page
);
$products = new WP_Query( $args );
?>
<div class="owl-carousel owl-theme">
<div class="testimonial-outer">
<div class="image-col">
<img class="testimonial-img" src="<?php echo get_field('image');?>">
</div>
<!-- image-col -->
<div class="text-col">
<h4>
<?php echo get_field('name');?>
</h4>
<p>
<?php echo get_field('testimonial');?>
</p>
</div>
<!-- text-col -->
</div>
<!-- testimonial-outer -->
</div>
<?php
}
// register shortcode
add_shortcode('testimonial', 'testimonial_short');
Ответ №1:
Ваша testimonial_short
функция не возвращает HTML-код, а немедленно выводит его. Это приводит к тому, что он появляется в верхней части страницы, поскольку шорткод вычисляется, хотя еще ничего не было отправлено.
Попробуй:
function testimonial_short(){
...
return "<div>my html</div>";
}