在我见过的许多主题(包括TwentyEleven)中,以及在网上找到的示例中,functions.php
为主题创建文件时,所有功能都在全局范围内声明。为了澄清,这是典型的函数文件的外观:
function my_theme_do_foo() { // ... }
function my_theme_do_bar() { // ... }
add_action( 'foo_hook', 'my_theme_do_foo' );
在我看来,如果使用一个类,可以将事情“封装”得更好:
class MyTheme {
function do_foo() { // ... }
function do_bar() { // ... }
}
$my_theme = new MyTheme();
add_action( 'foo_hook', array( &$my_theme, 'do_foo' ) );
第二种方法的优点(以我卑微的眼光):
- 较短的函数名称
- 访问实例变量(IMO的最大优势)
- 没有全局功能
缺点:
- 类名仍可能导致冲突
- 用子主题“自定义”还不太清楚(必须扩展父类)
- 大多数主题都没有这样做,所以您会逆势而上
我可能忽略了一些事情,但是我想知道为什么不采用OOP方法?如果有的话,对我来说有点“干净”。也许我弄错了?
我对WordPress主题开发还很陌生,所以如果这是WP社区中的常识,请原谅我。只是想了解为什么事情就是这样。
-你可以从Kovshenin检查主题wordpress.org/extend/themes/profile/kovshenin他使用OOP方法中的functions.php
—
Mamaduka