Я написал короткий код для WordPress, но вывод, который будет напечатан, как-то странно, так что это мой код цикла

function events_accordion_shortcode($category){ // WP_Query arguments $args = array ( 'post_type' ={amp}gt; array( 'event' ), 'post_status' ={amp}gt; array( 'publish' ), 'nopaging' ={amp}gt; true, 'order' ={amp}gt; 'ASC', 'orderby' ={amp}gt; 'menu_order', 'meta_query' ={amp}gt; array( array( 'key' ={amp}gt; 'custom_page_category', 'value' ={amp}gt; $category, ) ), ); // The Query $events = new WP_Query( $args ); echo '{amp}lt;div class="container"{amp}gt;'; // The Loop $first = true; if ( $events-{amp}gt;have_posts() ) { echo '{amp}lt;ul class="responsive-table"{amp}gt; {amp}lt;li class="table-header"{amp}gt; {amp}lt;div class="col col-3"{amp}gt;Event{amp}lt;/div{amp}gt; {amp}lt;div class="col col-6"{amp}gt;date{amp}lt;/div{amp}gt; {amp}lt;div class="col col-6"{amp}gt; location{amp}lt;/div{amp}gt; {amp}lt;div class="col col-6"{amp}gt;FOCUS{amp}lt;/div{amp}gt; {amp}lt;/li{amp}gt;'; while ( $events-{amp}gt;have_posts() ) { $events-{amp}gt;the_post(); $post_id=get_the_ID(); $mydate = get_post_meta($post_id, 'date', true); $mylocation = get_post_meta($post_id, 'location', true); $myfocus = get_post_meta($post_id, 'focus', true); echo '{amp}lt;li class="table-row accordion"{amp}gt;' . '{amp}lt;div class="col col-3" data-label="title"{amp}gt;' . the_title() . '{amp}lt;/div{amp}gt;' . '{amp}lt;div class="col col-6" data-label="date"{amp}gt;'. $mydate .'{amp}lt;/div{amp}gt;' . '{amp}lt;div class="col col-6" data-label="location"{amp}gt;'. $mylocation .'{amp}lt;/div{amp}gt;' . '{amp}lt;div class="col col-6" data-label="focus"{amp}gt;'. $myfocus .'{amp}lt;/div{amp}gt;' . '{amp}lt;div class="col col-6" data-label="plus"{amp}gt; {amp}lt;i id="load-more" aria-hidden="true" class="fas fa-plus"{amp}gt;{amp}lt;/i{amp}gt; {amp}lt;/div{amp}gt;' . '{amp}lt;/li{amp}gt;'; echo '{amp}lt;li class="panel"{amp}gt;{amp}lt;/li{amp}gt;'; } } else { // no posts found } echo '{amp}lt;/ul{amp}gt;{amp}lt;/div{amp}gt;'; } 

проблема в том, что значение «the_title ()» печатается вне тега li, это странный вывод, который я получаю:

 {amp}lt;div class="container"{amp}gt; {amp}lt;ul class="responsive-table"{amp}gt; {amp}lt;li class="table-header"{amp}gt; {amp}lt;div class="col col-3"{amp}gt;Event{amp}lt;/div{amp}gt; {amp}lt;div class="col col-6"{amp}gt;date{amp}lt;/div{amp}gt; {amp}lt;div class="col col-6"{amp}gt; location{amp}lt;/div{amp}gt; {amp}lt;div class="col col-6"{amp}gt;FOCUS{amp}lt;/div{amp}gt; {amp}lt;/li{amp}gt; event 1 {amp}lt;li class="table-row accordion"{amp}gt; {amp}lt;div class="col col-3" data-label="title"{amp}gt;{amp}lt;/div{amp}gt; {amp}lt;div class="col col-6" data-label="date"{amp}gt;13/6/2019{amp}lt;/div{amp}gt; {amp}lt;div class="col col-6" data-label="location"{amp}gt;{amp}lt;/div{amp}gt; {amp}lt;div class="col col-6" data-label="focus"{amp}gt;brain{amp}lt;/div{amp}gt; {amp}lt;div class="col col-6" data-label="plus"{amp}gt; {amp}lt;i id="load-more" aria-hidden="true" class="fas fa-plus"{amp}gt;{amp}lt;/i{amp}gt; {amp}lt;/div{amp}gt; {amp}lt;/li{amp}gt; {amp}lt;li class="panel"{amp}gt;{amp}lt;/li{amp}gt; {amp}lt;/ul{amp}gt; {amp}lt;/div{amp}gt; 

Как вы видите, заголовок сообщения (событие 1) скопирован за пределы тега li, что я делаю не так? Я не знаю, что делать

  echo '{amp}lt;li class="table-row accordion"{amp}gt;' . '{amp}lt;div class="col col-3" data-label="title"{amp}gt;' . get_the_title() . '{amp}lt;/div{amp}gt;' . '{amp}lt;div class="col col-6" data-label="date"{amp}gt;'. $mydate .'{amp}lt;/div{amp}gt;' . '{amp}lt;div class="col col-6" data-label="location"{amp}gt;'. $mylocation .'{amp}lt;/div{amp}gt;' . '{amp}lt;div class="col col-6" data-label="focus"{amp}gt;'. $myfocus .'{amp}lt;/div{amp}gt;' . '{amp}lt;div class="col col-6" data-label="plus"{amp}gt; {amp}lt;i id="load-more" aria-hidden="true" class="fas fa-plus"{amp}gt;{amp}lt;/i{amp}gt; {amp}lt;/div{amp}gt;' . '{amp}lt;/li{amp}gt;'; echo '{amp}lt;li class="panel"{amp}gt;{amp}lt;/li{amp}gt;'; 

Вы должны написать get_the_title() , потому что вы уже написали echo в начале тега li . Прочитайте разницу между get_the_title() и the_title()