Theme Demo in live Site

时间:2011-10-15 作者:Mohit Bumb

我不知道如何解释这个问题,但让我试试,想象一下我有一个名为xyz的网站。com和xyz中上载了10个主题,在主页中我将显示名称和;所有10个主题的屏幕截图如果有人点击激活/演示,则该主题将在他的ip地址中激活,直到他的会话被破坏,之后当他再次访问时,他可以看到旧主题。

也就是说,如果有人想从我的网站上购买主题,他可以直接从我的网站上查看。

1 个回复
SO网友:onetrickpony

把这个放进一个盒子里。wp content/mu插件中的php文件:

add_filter(\'template\',   \'check_for_theme_preview\');
add_filter(\'stylesheet\', \'check_for_theme_preview\');

// if you want to display the theme selector
// (this is wrong, you need a custom action in each of your themes, after <body>)
add_action(\'wp_head\',    \'display_template_selector\');


// checks for the "theme-preview" argument, and changes the template
function check_for_theme_preview($template){
  session_start();

  if(isset($_SESSION[\'template\']))
    $template = $_SESSION[\'template\'];

  // sanitize this!     
  if(isset($_GET[\'theme-preview\']))
    $template = $_GET[\'theme-preview\'];

  $_SESSION[\'template\'] = $template;

  return $template;
}


// theme selector
function display_template_selector(){

  $themes = get_themes(); ?>

  <select onchange="document.location.href = this.options[this.selectedIndex].value;">
    <?php foreach($themes as $theme_name => $theme_data): ?>
    <option value="<?php echo add_query_arg(\'theme-preview\', $theme_data[\'Template\']) ?>"><?php echo $theme_name; ?></option>
    <?php endforeach; ?>
  </select>
  <?php

}
因此,将浏览器指向http://yoursite.com/?theme-preview=twentyten 将使站点在整个会话中加载该模板。

但是有plugins 在那里做得更好。。。

结束

相关推荐

常量WP_USE_THEMES用于什么?

关于WP_USE_THEMES 常数Codex states:如果在自己的设计中使用循环(并且自己的设计不是模板),请将WP\\u USE\\u THEMES设置为false。但是对WordPress的实际影响是什么呢WP_USE_THEMES 设置为true还是false?我想知道WP是如何使用它的。