2

是否可以将选项屏幕添加到 Wordpress MU 主题(为每个用户保存选项,所以是博客范围,而不是网站范围)?

我习惯于编写 wordpress 主题,但我对如何在多用户环境中进行自定义感到有点困惑......

4

1 回答 1

1

哇,这么久都没人回复你?好的,这就是答案。如果您在启动并运行了一些 WPMU 博客后检查您的 MySQL 数据库,您会注意到每个博客都有一个单独的表前缀。wp_1_ 前缀转到主管理博客。然后 wp_2_ 前缀等转到您在 wp-admin 系统中创建的所有非主要管理博客。如果你想使用 Codex 函数来访问哪个表前缀,其实很简单——只需执行“global $table_prefix;”即可。事实上,作为旁注,WordPress 会发出大量非常有用的全局变量,您可以通过执行“print_r($GLOBALS);die();”来找出这些变量是什么。像插件或主题文件一样。

但无论如何,您的问题的答案是,如果您查看 MySQL 数据库,您会发现 WPMU 中的每个博客都有自己的选项表,而且它是独立的,不是站点范围的,而是博客范围的——正如您所希望的那样。当您使用标准的 WordPress 选项 API 时,它会自动访问您需要的选项表,而无需使用 $wpdb 全局对象,也无需使用 $table_prefix 全局字符串。

因此,如果您使用 get_option()、update_option()、add_option() 和 delete_option()——这些都将在 WPMU 环境中仍然有效。即使插件文件夹在所有博客之间共享,插件的设置也不是每个博客独有的。

现在,如果您没有在 Codex 中使用 WP Options API,而是使用 $wpdb 全局对象来处理它,那么您需要知道您需要通过 $table_prefix 全局字符串来寻址表表路径的一部分。在某些情况下这是可取的,例如您需要将大量数据存储在自定义表中。例如,将 HTTP_REFERER 和用户代理信息存储到表中以供连接进入。

于 2010-06-09T04:57:58.597 回答