使用移动主题的子域名m.website.com?

时间:2015-01-07 作者:Ahmed Saad

我们可以有一个子域m.website吗。com对于移动用户,那些会自动重定向到它吗?

到底目的是什么?

3 个回复
SO网友:fuxia

您可以拥有子域,但无法可靠地检测移动用户。而你不应该。

如何在中使用具有相同内容的子域wp-config.php, 看看$_SERVER[\'HTTP_HOST\']. 如果匹配m.example.com, 将当前域强制为主域,并使用…

const DOMAIN_CURRENT_SITE = \'m.example.com\';
…并过滤活动主题:

add_filter( \'stylesheet\', function( $stylesheet ) {

    if ( \'m.example.com\' === DOMAIN_CURRENT_SITE )
        return \'mobile-theme\';

    return $stylesheet;
});
设置重定向/wp-admin/wp-login.php, 因此,作者不能在移动网站上写作。

为什么不应该这样做,检测移动用户是一项艰巨的工作。您不能信任用户代理字符串,因为它们存在、为空或包含恶意代码。从不使用wp_is_mobile(), 这是令人尴尬的天真。

使用移动设备并不意味着使用小屏幕或低带宽。

独立的子域已经成为过去。当浏览器无法处理media queries, 移动设备都很小,速度很慢。这不再是事实,所以请不要开始建造恐龙。

另请参见:How to load content per AJAX depending on screen size.

SO网友:Arfan

你应该考虑让你的网站完全响应,移动网站的子域已经成为过去,但一些大型网站仍然依赖它。

不是因为他们想要一个移动网站,而是因为他们的一些主要网站功能还不是移动设备应该处理的。

我们现在正处于一个应用程序(此处为Web应用程序)独立于平台的阶段,而不管它们在哪个设备上运行。

SO网友:lucian

您不能在同一安装上使用其他主题,但;“主题”;毕竟它只是一个抽象,它可以由无限多个完全不同的模板组成,所以。。。你所能做的就是欺骗Wordpress,使其认为这是同一个主题。有点古怪,但在其他方面相当容易。

大警告:如果你想安装一个现成的主题,可能不值得这么麻烦,很有可能一些组件会坏掉。另一个警告:URL将变得重复,因此您可能需要正确设置wp config来说明这一点,或者动态重写它们,或者只设置规范

但是,如果它是专门制作的,或者是一个非常简单、制作精良的主题,或者只是原型设计,那么它会很好地工作。

所以你有了新的子域。这里需要做的就是创建一个索引。php,其中一行指向主安装:require(\'/your/path/to/wp/wp-blog-header.php\' );

已经取得了巨大的进步!此时,您的子域将镜像您的网站。

现在您想在那里显示其他内容。将此添加到您的函数中。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;
}
现在,您的“基本主题”已启动并运行!

如果您想使用更多的模板而不仅仅是索引。php,您必须重建一些wp模板逻辑。因此,在主题目录中创建一个新文件并指向它。上面的相关行变为:

$new_template = \'/your/path/to/wp/wp-content/themes/your-subdomain-theme/whatever.php\';
不管是什么。php部分指向每个实际模板:

if(is_single()) {include(\'/home/standard.wp/wp-content/themes/feeds/single.php\');}
elseif (is_home()) { // ... easy from here
还有你的子域独立主题在同一个无多站点wp实例上运行。

结束

相关推荐

编辑/更改Jetpack Mobile主题

我真的很喜欢为移动设备切换主题的想法,我的网站上有几个功能都使用jetpack,所以我想,为什么不把它也用于移动设备呢。Jetpack附带了一项功能,可以为移动设备切换主题,但只能使用它们的主题并调整一些内容,如bg颜色等。。我想知道是否有可能完全改变这个主题?所以,使用jetpack来检测设备,但使用您自己的移动主题?在任何更新之后都会保持这样。