问题描述
许多 Wordpress 功能遵循命名约定,可能最知名的是 the_*()
功能,如 the_post()
,用于 The Loop 。
显然,is_*()
系列功能属于 Conditionals 。但是,由以下函数前缀表示的常见主题是什么?
-
add_*()
-
register_*()
-
wp_*()
-
wp_insert_*()
在我看来,wp_insert_*()
功能都在数据库上执行 INSERT
语句。也就是说,它们改变了应用程序的状态。它是否正确?
在我看来,register_*()
功能不影响数据库。也就是说,它们使结构仅适用于当前页面调用。它是否正确?
wp_*()
功能有一个共同的主题吗?这只是一个不再执行的旧的 pseudo-namespace 吗?
add_*()
功能似乎是最不合逻辑的。有些影响数据库,如 add_post_meta()
,有些不 add_theme_support()
。 add_*()
功能中常见的是什么,为什么不叫 wp_insert_post_meta()
和 register_theme_support()
一致性?
最佳解决方案
甜言蜜语是不要让您的头脑超过命名约定或 WordPress 的一致性,因为这些不存在”standards” 。
诚然,WordPress 不会遵循任何固定的规则或标准,即使有一本关于 WordPress 开发人员编码标准的手册。是的,如果他们会坚持某种可预测的模式,那将是很好的,但他们不会。
WordPress 已经 10 多岁了,从来没有像今天那样大。在那段时间里,许多核心开发人员来了,而且因为今天的 WordPress 是一个社区项目,任何人都可以向任何人提交关于改进,新功能等的想法,您会发现很多不同的编码风格和”standards”(如命名约定) 内核。
如果要单独使用命名约定在基于 add
,register
和 the
之类的领先字符的函数之间找到一些常见的模式,那么这里完全错误。
参考文献
注:本文内容整合自 Google/Baidu/Bing 辅助翻译的英文资料结果。如果您对结果不满意,可以加入我们改善翻译效果:薇晓朵技术论坛。