我应该使用插件的API或WordPress API来获取插件管理的数据吗?

时间:2017-06-16 作者:Acsor

几周左右以来,我第一次学习Wordpress,为了练习和创造一些有用的东西,我创建了一个比萨餐厅网站,也许我也会发布这个网站。

为了以最短的方式解释自己,我目前正在编辑一些默认值MotoPress Restaurant Menu plugin 模板,使网站看起来像我想要的。首先,插件提供了一个菜单列表模板,但我不知道如何对元素进行排序,如何过滤它们,以及如何实现类似表格的显示,而不是列表<div>s在页面内。我为“改进”此模板所做的是创建一个自定义page-menu-lb.php 模板文件并添加用于填充<table> 使用数据库中的数据。

为了从数据库中获取数据,我创建了一些使用Wordpress API函数/类的文件和类,如WP_Query 以及(wp)_get_* 功能;此外,我还建模了Pizza 类以面向对象的方式存储数据。有了它,我就能够按照我的意图构建一个菜单页面。

enter image description here

现在,我还必须显示单个项目的帖子(在我的例子中是pizzas),我必须修改此类其他模板文件single-{post-type}.php. 我知道很多方法,但Wordpress中最惯用和“正确”的方法是什么?

因此,我的最后两个问题是:

如何从数据库中获取数据?我看到插件在内部是通过调用自己的函数来实现的——它内部有一种小框架。我应该使用它们,还是冒升级不兼容的风险?或者我应该限制自己使用WP_Query, wpdb 类别和(wp)_get_* 功能succinct plugin documentation, 还是创建自定义模板

1 个回复
SO网友:Acsor

在最后几天的工作中,我完成了我的两点后,我会回答自己:

我的插件确实完成了所有的数据插入和管理工作,它的代码库中包含了一些非常方便的API。WordPress也提供some very great database access APIs (amongst other things) 我可以说我可以互换使用它们。一般来说,我优先考虑插件函数,但如果我没有找到一个有用的API,那么在WordPress上自己构建一个API就很容易了。然而,我从未使用过直接的MySQL查询,比如通过wpdb

我还需要为单个菜单项定义模板,这些菜单项实际上是帖子。在目前为止唯一的一个案例中,我创建了single-mp_menu_item.php 子主题目录中的模板文件,我修改了从父主题粘贴到那里的代码,以满足我的需要。但需要注意的是,我没有按照插件文档的建议使用操作和过滤器挂钩。

结束

相关推荐

Single必须使用Plugins目录进行本地开发

我有多个本地安装的WordPress,并希望有一个单一的必须使用插件目录为我的所有本地网站。有什么我可以添加到wp配置,例如,让我有一个文件夹,可以用于我的所有网站?或者另一种方法?例如:/根/站点/站点1//根/站点/站点2//根/站点/站点3/。。。所有用途:/根/mu插件/谢谢