使用短代码遍历WordPress中的数组

时间:2018-10-18 00:31:30

标签: wordpress shortcode

虽然我知道如何编写基本的插件功能并创建短代码,但我对WP还是很陌生。我想让我的插件返回一个数组(用户收藏夹的列表),但在帖子中而不是在简码实现中定义HTML。所以我想按照以下方式做些事情:

[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保留在帖子中。我认为我可以将插件中的“ foreach”功能实现为专用的[user_favorite_foreach]短代码,但是如果有一个内置的“ foreach”类型函数,我宁愿使用内置的“ foreach”类型功能。我已经搜索过但至今未找到任何内容,但是也许我没有使用正确的关键字。

是否有这样的内置“ foreach”功能?

1 个答案:

答案 0 :(得分:0)

自从我发布了这个问题以来,我已经学到了很多有关简码的知识。似乎没有内置的方法来执行此操作。我最终要做的实际上是编写自己的“包装”短代码进行迭代,如下所示:

<table>
   [favorites_foreach]
     <tr>
       <td>[favorites field=index]</td>
       <td>[favorites_link][favorites field=title][/favorites_link]</td>
     <tr>
   [/favorites_foreach]
</table>

不幸的是,事实证明很难在HTML属性中放入简码,而且我不喜欢这种折衷方案,因此,我没有显示返回链接{{1}的简码,而是返回链接的简码。 } ... <a>标记,包括href。 </a>favorites_foreach短代码是“包装器”,它们需要通过内置的WP函数favorites_link运行自己的内容,以处理其内容中的短代码。

这是一个很好的简单解决方案,可以保持我想要的MVC分离。