wordpress mu主题每用户选项

时间:2010-03-18 11:06:18

标签: wordpress-theming wordpress

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

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

1 个答案:

答案 0 :(得分: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和用户代理信息存储到表中,以便进入连接。