管理WordPress MultiSite中的数据库表

时间:2012-01-28 作者:Marvin3

我正在开发一个插件,它可以在数据库表中创建和存储一些数据(使用global$wpdb->base\\u前缀)。在WordPress multisite中,我希望子网站所有者只能访问他们创建的数据。处理这个问题的最佳方法是什么?我应该为每个子网站创建新表,还是向表中添加“blog\\u id”列并每次检查?

谢谢你的帮助。

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

使用API,WordPress的功能保存数据和检查之前,它是一个多站点安装;仅此而已。第一个示例仅用于检查,是作为网络范围激活的。

// if is active in network of multisite
if ( is_multisite() && isset($_GET[\'networkwide\']) && 1 == $_GET[\'networkwide\'] ) {
    add_site_option( \'my_settings_id\', $data );
} else {
    add_option( \'my_settings_id\', $data );
}
下面的示例检查mutliste以及插件是否在整个网络中处于活动状态。

if ( is_multisite() && is_plugin_active_for_network( plugin_basename( __FILE__ ) ) )
    $values = get_site_option( \'my_settings_id\' );
else
    $values = get_option( \'my_settings_id\' );
您还可以在每个博客中检查这一点,并将数据保存在每个博客的表中。

*示例来自this post

结束

相关推荐

这些插件能与WP MultiSite一起工作吗?

我刚刚用wordpress创建了我的第一个网站网络,当时我正在安装插件,我安装了这些插件:Platinium SEO包(http://techblissonline.com/platinum-seo-pack/)管式压力机(http://www.tubepress.net)联系人表格7(http://contactform7.com/)社交书签(http://wordpress.org/extend/plugins/social-bookmarks/)严格自动标记(http://wordpress.org