使用短代码遍历 WordPress 中的数组
Iterate through array in WordPress using shortcodes
虽然我知道如何编写基本的插件功能和创建短代码,但我对 WP 还很陌生。我想让我的插件 return 成为一个数组(用户收藏夹的列表),但是 HTML 在 post 中定义,而不是在短代码实现中。所以我想按照这些思路做一些事情:
[user_favorites_fetch]
<table>
[foreach user_favorite]
<tr>
<td>[foreach_index]</td>
<td><a href="[foreach_var user_favorite.url]">[foreach_var user_favorite.title]</a></td>
<tr>
[/foreach]
</table>
我知道如何将 HTML 嵌入到 user_favorites_fetch
的短代码定义中,但我宁愿使用 MVC 分离并将 HTML 保留在 post.我 认为 我可以在我的插件中实现 "foreach" 功能作为专门的 [user_favorite_foreach]
简码,但我宁愿使用 built-in "foreach" 类型函数,如果有的话。我已经搜索过,但到目前为止还没有找到任何东西,但也许我没有使用正确的关键字。
有built-in"foreach"这样的功能吗?
自从我发布这个问题后,我学到了很多关于短代码的知识。似乎没有内置的方法来执行此操作。我最终做的确实是写我自己的 "wrapper" 短代码来迭代,像这样:
<table>
[favorites_foreach]
<tr>
<td>[favorites field=index]</td>
<td>[favorites_link][favorites field=title][/favorites_link]</td>
<tr>
[/favorites_foreach]
</table>
不幸的是,事实证明很难将短代码放入 HTML 属性中,而且我不喜欢所涉及的权衡,所以我没有返回 link 的短代码,而是显示 link 的 <a>
...</a>
标签的简码,包括 href。 favorites_foreach
和favorites_link
简码是"wrappers",他们需要运行自己的内容通过内置的WP函数do_shortcode
来处理他们的简码内容.
这是一个很好的、简单的解决方案,它保持了我想要的 MVC 分离。
虽然我知道如何编写基本的插件功能和创建短代码,但我对 WP 还很陌生。我想让我的插件 return 成为一个数组(用户收藏夹的列表),但是 HTML 在 post 中定义,而不是在短代码实现中。所以我想按照这些思路做一些事情:
[user_favorites_fetch]
<table>
[foreach user_favorite]
<tr>
<td>[foreach_index]</td>
<td><a href="[foreach_var user_favorite.url]">[foreach_var user_favorite.title]</a></td>
<tr>
[/foreach]
</table>
我知道如何将 HTML 嵌入到 user_favorites_fetch
的短代码定义中,但我宁愿使用 MVC 分离并将 HTML 保留在 post.我 认为 我可以在我的插件中实现 "foreach" 功能作为专门的 [user_favorite_foreach]
简码,但我宁愿使用 built-in "foreach" 类型函数,如果有的话。我已经搜索过,但到目前为止还没有找到任何东西,但也许我没有使用正确的关键字。
有built-in"foreach"这样的功能吗?
自从我发布这个问题后,我学到了很多关于短代码的知识。似乎没有内置的方法来执行此操作。我最终做的确实是写我自己的 "wrapper" 短代码来迭代,像这样:
<table>
[favorites_foreach]
<tr>
<td>[favorites field=index]</td>
<td>[favorites_link][favorites field=title][/favorites_link]</td>
<tr>
[/favorites_foreach]
</table>
不幸的是,事实证明很难将短代码放入 HTML 属性中,而且我不喜欢所涉及的权衡,所以我没有返回 link 的短代码,而是显示 link 的 <a>
...</a>
标签的简码,包括 href。 favorites_foreach
和favorites_link
简码是"wrappers",他们需要运行自己的内容通过内置的WP函数do_shortcode
来处理他们的简码内容.
这是一个很好的、简单的解决方案,它保持了我想要的 MVC 分离。