你不能在同一个安装中使用另一个主题,但“主题”毕竟只是一个抽象,它可以由无限数量的完全不同的模板组成,所以......你能做的就是把戏Wordpress 认为它是相同的主题。有点古怪,但其他方面相当容易。
大警告:如果您要安装现成的主题,则可能不值得麻烦,很可能某些组件会损坏。另一个警告:网址会重复,因此您可能需要正确设置 wp-config 来解决此问题,或者动态重写它们,或者只是设置规范
但是,如果它是有目的的,或者是一个非常简单的干净制作的主题,或者只是原型,它会很好地工作。
这样您就有了新的子域。您在这里所要做的就是创建一个 index.php,其中一行指向您的主安装:
需要('/your/path/to/wp/wp-blog-header.php' );
已经有了很大的进步!此时,您的子域反映了您的网站。
现在您想在此处显示其他内容。将此添加到您的functions.php:
add_filter( 'template_include', 'subdomain_theme', 99 );
function subdomain_theme( $template ) {
$uri = $_SERVER['SERVER_NAME'];
if (strpos($uri,'yoursubdomain.') !== FALSE) {
$new_template = '/your/path/to/wp/wp-content/themes/your-subdomain-theme/index.php';
if ( '' != $new_template ) {
return $new_template ;
}
}
return $template;
}
现在您的“基本主题”已启动并运行!
如果你想使用更多的模板而不只是 index.php,你将不得不重建一些 wp 模板逻辑。因此,在您的主题目录中创建一个新文件并指向它。上面的相关行变为:
$new_template = '/your/path/to/wp/wp-content/themes/your-subdomain-theme/whatever.php';
whatever.php 中的部分指向每个实际模板:
if(is_single()) {include('/home/standard.wp/wp-content/themes/feeds/single.php');}
elseif (is_home()) { // ... easy from here
您的子域独立主题在同一个非多站点 wp 实例上运行。