Изменить шаблон в плагине Wordpress - PullRequest
1 голос
/ 09 января 2012

Я хочу определить, является ли поддомен «м.», И, если это так, отобразить другой шаблон. Не удалось найти то, что я искал, в Wordpress API для этого.

Ответы [ 3 ]

0 голосов
/ 16 марта 2012

Вы должны использовать фильтры template_redirect или один из других фильтров _template, чтобы изменить загружаемый шаблон.

0 голосов
/ 11 июня 2014

Я предлагаю создать свой собственный плагин с помощью одного скрипта и поместить его в 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

}

Затем зайдите в админ, найдите новый плагин ивключить его

0 голосов
/ 10 января 2012

Вы можете использовать функцию parse_url () в PHP для этого:

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

Затем вы можете добавить свою собственную инструкцию if:

if ($subdomain == "m") { ... } else { ... }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...