2011-02-03 59 views
3

我有一個想法在盎司運行多個WordPress主題。如果可能的話,這可能是構建到wordpress插件中的一件好事。是的,如果它不是非常困難,我可能會承擔這樣的任務。多主題wordpress插件的想法

(另外,如果你有興趣與我聯手,讓我知道(發表評論),我體面的JavaScript和PHP,但不是很大,也許需要一些幫助!)

這就是我看到它的工作原理: 當前的「設置」主題可以在這裏訪問:「www.foo.com/」 第二主題可在此訪問:「www.foo.com/index.php?set_theme=theme2 &」 第三主題可在此訪問:「www.foo.com/index.php?set_theme=THEME_NAME_HERE &」 etc ...

這可用於JavaScript後退。例如,如果您訪問www.foo.com/?page_id=9並打開javascript,則會將JavaScript重定向到「www.foo.com/index.php?set_theme=THEM_WITH_JAVASCRIPT & page_id = 9」。

這就是我想象中的插件代碼尋找/工作:

if(isset($_GET['set_theme'])){ 
     $loadme = cleaned($_GET['set_theme']);  
     if($loadme exists){ 
      loadtheme($loadme); 
     } else { 
      //go on as usual, as if this plugin doesnt exist 
     } 
    } else { 
     //go on as usual, as if this plugin doesnt exist 
    } 

當然,所有環節必須廣告set_theme = FOOBAR &

所以,我的主要問題是?

  1. WordPress如何以及在哪裏選擇當前主題?
  2. 如何/你在哪裏修改內部鏈接
    if(isset($ _ GET ['set_theme'])){ echo「?set_theme =」。 $ _GET [ 'set_theme']; }
  3. 你知道有什麼好的網站可以指導我如何製作WP插件嗎?

回答

0

找到了一個98%的插件。 WordPress的主題切換器重裝上陣。

只是改變了ts_get_theme()函數如下:

function ts_get_theme() { 
      if (!empty($_GET["wptheme"])) { 
       return $_GET["wptheme"]; 
      }  else { 
        return ''; 
      } 
    } 
1

你可能想看看Theme Switcher插件,看看如何完成這個任務 - 應該給你一些想法。

0

並不真的需要一個插件,只需添加這的functions.php:

 function theme_switcher() { 
    if(isset($_GET['theme']) $theme = $_GET['theme']; 
    global $wpdb; 
    if (isset($theme)) { 
    $wpdb->prefix 
    $queries = 「UPDATE 「.$wpdb->prefix.」options SET option_value = ‘」.$theme.」‘ WHERE option_name = ‘template’ OR option_name = ‘stylesheet’ OR option_name = ‘current_theme’;」; 
    $wpdb->query($query); 
    } 
    } 
add_action('wp_head','switchTheme') 

然後使用mywebsite.com/?theme=myNewTheme切換他們

免責聲明:未經測試!

+0

你在那裏有一對夫婦的錯誤,你也需要清潔$主題,你將它發送之前到DB – Dave 2011-02-04 18:14:56