这个真没啥用,完全不推荐这样操作,对搜索引擎也并不友好,你的多个网站的链接又不一样,要是这么发出去让谷歌收录的话,对你的网站是有一定的影响,我只是突发奇想,做一下操作记录而已。
可能对于某些朋友的特定需求还是有点用的,相信大家想做这件事情之前已经看过《终极方案:如何为wordpress建立子目录网站并实现用户数据及权限互通》这篇了,已经可以让多个网站共用同一个用户数据库了,但是还不够,还想共用同一个文章库,我相信大家大多数人不会这么干的,毕竟链接不同,有可能导致网站降权。
这里单从技术上来讲给大家看看操作方式。
需求
我们现在有a和b两个网站,现在想让b网站获取到a网站的文章数据库,使a、b网站公用同一个文章数据库。
具体操作
1.在b网站的wp-includes/wp-db.php文件中,在文件的开头添加以下代码:
define( 'CUSTOM_POST_TABLE', 'tphnk_posts' );
define( 'CUSTOM_POST_META_TABLE', 'tphnk_postmeta' );
2.再找到wp-db.php文件中的下面的代码,大概在1147行
if ( isset( $tables['users'] ) && defined( 'CUSTOM_USER_TABLE' ) ) {
$tables['users'] = CUSTOM_USER_TABLE;
}
if ( isset( $tables['usermeta'] ) && defined( 'CUSTOM_USER_META_TABLE' ) ) {
$tables['usermeta'] = CUSTOM_USER_META_TABLE;
}
3.在步骤2的代码后面添加如下的代码
if ( isset( $tables['posts'] ) && defined( 'CUSTOM_POST_TABLE' ) ) {
$tables['posts'] = CUSTOM_POST_TABLE;
}
if ( isset( $tables['postmeta'] ) && defined( 'CUSTOM_POST_META_TABLE' ) ) {
$tables['postmeta'] = CUSTOM_POST_META_TABLE;
}
4.修改根目录下的wp-config.php文件
在里面添加你的a网站的数据库,解释一下下面代码中的a_posts和a_postmeta,a是a网站的数据库前缀
define( 'CUSTOM_POST_TABLE', 'a_posts' );
define( 'CUSTOM_POST_META_TABLE', 'a_postmeta' );
然后你就可以在你的b网站所有文章中看到a网站的文章了。
到最后也只想说一句,没啥用,哈哈哈。
如果对本文有疑问,可以在下方评论区留言,看到后我会在这里回复你。
加微信咨询(为了方便大家添加微信,直接放在这里了):