在Wordpress插件中更改模板

时间:2012-01-09 18:30:30

标签: wordpress templates plugins themes

我想检测子域是否为" m。",如果是,则显示不同的模板。无法在Wordpress API中找到我要找的东西。

3 个答案:

答案 0 :(得分:0)

您可以使用PHP中的parse_url()函数执行此操作:

$parsed = parse_url($_SERVER['HTTP_HOST']);
$host = explode('.', $parsedUrl['host']);
$subdomain = $host[0];

然后,您可以添加自己的if语句:

if ($subdomain == "m") { ... } else { ... }

答案 1 :(得分:0)

您应该使用'template_redirect'过滤器或其他_template过滤器之一来更改正在加载的模板。

答案 2 :(得分:0)

我建议用一个脚本创建你自己的插件,然后将它放在wp-content / plugins中,代码如下:

<?php
/**
* Plugin Name: Theme swithwer
* Plugin URI: http://URI_Of_Page_Describing_Plugin_and_Updates
* Description: Custom theme switcher
* Version: 0.1
* Author: XXX XXX
* Author URI: http://URI_Of_The_Plugin_Author
* License: A "Slug" license name e.g. GPL2
*/

add_filter( 'stylesheet', 'switch_ma_theme' );
add_filter( 'template',   'switch_ma_theme' );

function switch_ma_theme()

{
   global $wpdb;
   // condition to test ad theme to load
   if ($_SERVER['HTTP_HOST'] == 'blog.xxxx.xxx')
       return 'xxxthemexxx';
   // else default theme
   $theme = $wpdb->get_results( "SELECT option_value FROM wp_options where    option_name='template' ");
   $theme = array_pop($theme);
   return $theme->option_value;
   // Return the theme directory name

}

然后进入管理员,寻找新的插件并启用它