这应该是可行的。
第一步是将每个域指向WordPress的相同文档根目录/安装。
接下来,使用WP_HOME
和WP_SITEURL
在里面wp-config.php
这一变化基于$_SERVER[\'HTTP_HOST\']
. 示例:
<?php
define(\'WP_HOME\', \'http://\' . $_SERVER[\'HTTP_HOST\']);
define(\'WP_SITEURL\', \'http://\' . $_SERVER[\'HTTP_HOST\'] . \'/wp\');
这将迫使您的永久链接(至少是动态生成的永久链接)、排队等正常工作。
从那里,我将在管理中创建一个元框,其中包含一些可用域的复选框。每个可用的帖子类型都应该有这个。
在前端,钩住pre_get_posts
, 查找当前域作为元键,将查询更改为仅获取该域的帖子。
快速示例(未经测试,请谨慎使用):
<?php
add_action(\'pre_get_posts\', \'wpse70213_change_q\');
function wpse70213_change_q($query)
{
if(is_admin() || !$q->is_main_query())
return;
$key = \'wpse70213_host_\'; // or whatever you want this to be
$host = strtolower($_SERVER[\'HTTP_HOST\']); // normalize http host
// not sure if you can set meta_query like this...
$q->set(\'meta_query\', array(array(
\'key\' => $key . $host,
\'value\' => \'on\', // or whatever you use for "on" checkboxes
)));
}
简而言之,这是可行的,但您需要控制整个WP安装。
其他需要考虑的事项:
您如何处理导航菜单侧边栏呢对于一个给定的站点,只有一个中央分类法集,这是一个问题吗使用meta_query
在每页上添加在一个网站上没有任何帖子的用户仍将在该网站上拥有作者页面如果你需要这样的功能,你必须发明一个用户管理系统,模仿多站点将用户分配到博客这是一个非常有趣的想法。可能是很好的插件材料!