您多久需要注册一次_POST_TYPE?

时间:2015-12-18 作者:jgraup

假设您编写了一个插件并挂接到activation / deactivationregister_post_type 这够好吗?或者你需要每天init?

我正在寻找性能提升,我想减少不必要的呼叫。

GenerateWP 使用add_action( \'init\', \'custom_post_type\', 0 ); 所以这可能是我想注册它的最早时间。

FINDINGS

  • @s-ha-dum:

    register_post_type 需要在每次页面加载时调用

    这个post 数据本身保存在数据库中,但注册告诉PHP如何处理它。

  • @pieter-goosen:

    实际上,每次加载页面时,内置类型都会注册两次(由于本地化只在上可用init)

2 个回复
最合适的回答,由SO网友:s_ha_dum 整理而成

register_post_type 需要在每次页面加载时调用--init 看起来很好is the hook used in the Codex sample. post数据本身保存在数据库中,但注册会告诉PHP如何处理它。大多数帖子类型信息$labels, 这个$args-- 据我所知,没有保存在数据库中(尽管我同意可能有这样做的理由),因此没有注册码核心就无法真正了解帖子类型。

通过注册类型,然后对代码进行注释,您可以很容易地自己进行测试。

SO网友:Pieter Goosen

所有帖子类型和分类都会在每次页面加载时注册,无论是否内置。对此你真的无能为力。

内置类型实际上在每次页面加载时注册两次(,因为本地化只在上可用init),因此尝试优化自定义类型是毫无用处的。

由于post类型和分类数据未存储在db中,因此您已经在保存db调用,尽管您正在用它们的数据污染全局空间。我真的不确定哪一个更好,在每个页面加载的已经疯狂的db调用量中添加额外的db调用,或者在全局空间中添加更多垃圾。

Wordpress从一开始就不打算成为主流,所以很多功能从来没有得到很好的考虑。由于向后兼容政策,早期版本中的一些混乱无法在不破坏数千个站点的情况下恢复。

如果你真的需要优化你的网站,从明显的东西开始,比如查询、最小化脚本和样式、缓存大量数据等。至于核心功能,你真正能做的就是提交建议,以提高特定功能的性能,并希望你的建议得到批准并包含在未来的版本中

相关推荐

Testing Plugins for Multisite

我最近发布了一个WordPress插件,它在单个站点上非常有效。我被告知该插件在多站点安装上不能正常工作,我理解其中的一些原因。我已经更新了代码,现在需要一种方法来测试更新后的代码,然后才能转到实时客户的多站点安装。我有一个用于测试的WordPress安装程序的单站点安装,但需要在多站点安装上进行测试。根据我所能找到的唯一方法是在网络上至少有两个站点来安装整个多站点安装,以测试我的插件。设置WordPress的整个多站点安装是插件开发人员的唯一/首选方式,还是有更快的测试环境可用。