С тех пор, как я разместил этот вопрос, я многое узнал о шорткодах.Кажется, нет встроенного способа сделать это.В итоге я действительно написал свой собственный «обёрточный» шорткод для итерации, например:
<table>
[favorites_foreach]
<tr>
<td>[favorites field=index]</td>
<td>[favorites_link][favorites field=title][/favorites_link]</td>
<tr>
[/favorites_foreach]
</table>
К сожалению, оказывается, что сложно добавить шорткод в атрибут HTML, и я не сталМне нравится компромисс, поэтому вместо шорткода, возвращающего ссылку, у меня есть шорткод, отображающий теги <a>
... </a>
ссылки, включая href.Шорткоды favorites_foreach
и favorites_link
являются «оболочками», где им нужно запускать собственный контент через встроенную функцию WP do_shortcode
для обработки шорткодов в своем контенте.
Это было приятнопростое решение, которое поддерживает разделение MVC, которое я хотел.