#wordpress #shortcode
#wordpress #короткий код
Вопрос:
У меня есть этот код для создания пользовательского короткого кода. Но он возвращает это сообщение об ошибке. Как преодолеть эту ошибку.
[ПРИМЕЧАНИЕ: я также пытался закрыть тег php перед запуском html и запустить его снова после завершения html]
Parse error: syntax error, unexpected '<' in C:xampphtdocstheme-devwp-contentthemessportifyfunctions.php on line 77
// Add Shortcode
function custom_shortcode() {
<div class="intro"> /* line no 79 */
<div class="intro_boxes_wrap">
<div class="d-flex flex-row align-items-start justify-content-start flex-wrap">
<?php
$query = new WP_Query(array(
'post_type' => 'intro',
'post_per_page' => 3,
));
while($query->have_posts()): $query->the_post();
?>
<!-- Intro Box -->
<div class="intro_box d-flex flex-column align-items-center justify-content-center text-center">
<?php the_post_thumbnail(); ?>
<div class="intro_box_title"><h3><?php the_title(); ?></h3></div>
<div class="intro_box_text">
<?php echo get_the_content(); ?>
</div>
</div>
<?php endwhile; wp_reset_query();?>
</div>
</div>
</div>
}
add_shortcode( 'kollol', 'custom_shortcode' );
Ответ №1:
ошибка заключается в том, что вы пытаетесь вывести html в php-блоке. вы должны использовать теги конца / начала php
// Add Shortcode
function custom_shortcode() {
ob_start();
?>
<div class=intro> ... </div> //... exactly the code you got now
<?php
return ob_get_clean(); //ob_get_clean() is returning everything you echoed or rendered since ob_start()
}
add_shortcode( 'kollol', 'custom_shortcode' );
Комментарии:
1. Спасибо за ваш ответ. Я пробовал этот способ, но тогда это не сработало. Теперь я нахожу ошибку. Я не использовал пробел до и после запуска и окончания html-блока