Это, вероятно, глупый вопрос, но я новичок в кодировании, так что здесь идет :-). Я пытаюсь создать простой плагин для WordPress. Плагин получает данные из базы данных MySQL и выводит таблицу с результатами. Моя проблема в том, что когда я использую echo, плагин размещается первым на странице, даже если я поставил шорткод в середине страницы. Я понимаю, что это потому, что я использую эхо вместо возврата. Я просто не понимаю, как использовать возврат в моем случае. Любая помощь приветствуется :-). Вот мой код:
$get_runners = $connection->prepare('SELECT first_name, last_name, nick_name, FROM database WHERE status = :status ORDER BY first_name ASC');
$get_runners->execute([status=>'success']);
// Create the table
echo '
<table id="Table" class="start-list-table">
<thead>
<tr class="start-list-tr">
<th scope="col">Name</th>
<th scope="col">Club</th>
</tr>
</thead>
<tbody>
';
// Get the runner object:
$runners = $get_runners->fetchAll();
foreach($runners as $runner){
if($runner->nick_name)
{
$runner_name = $runner->first_name.' "'.$runner->nick_name.'" '.$runner->last_name;
}
else
{
$runner_name = $runner->first_name.' '.$runner->last_name;
}
echo '
<tr class="start-list-tr">
<td data-label="Name">'.$runner_name.'</td>
<td data-label="Club">'.$runner->club.'</td>
</tr>';
}
echo '</tbody>
</table>';
}
add_shortcode( 'startlist', 'create_startlist' );