Решил скинуть весь код, т.к. не понимаю в чём проблема. почему все переменные выводятся по циклу, а post id (что после абзаца) — без цикла, хотя тот что перед абзацом нормально?
$posts = R::findAll('posts', 'author_id = ?', [$_SESSION['logged_user']->id]);
foreach ($posts as $post) {
echo '<ons-list-item expandable>';
echo $post->sample1;
echo '<div class="expandable-content">';
echo $post->sample2;
echo '<a onclick="createAlertDialog()" style="color:red;text-align:right;">
<p style="font-size:17px;" class="no-padding"><i class="fas fa-trash-alt"></i> Удалить (',$post->id,')</p></a>';
echo '</div></ons-list-item>';
echo '
<div id="alert-dialog.html">
<ons-alert-dialog id="confirm-delete" modifier="rowfooter">
<div class="alert-dialog-title">Подтверждение</div>
<div class="alert-dialog-content">
Вы действительно хотите удалить?
</div>
<div class="alert-dialog-footer">
<ons-alert-dialog-button onclick="hideAlertDialog()">Отменить</ons-alert-dialog-button>
<ons-alert-dialog-button><a href="delete.php?id=',$post->id,'">Удалить</a><br><br></ons-alert-dialog-button>
</div>
</ons-alert-dialog>
</div>
';
};