WordPress : Démo du thème sur le site en direct

Publié par Jean-Michel le

Je ne sais pas comment expliquer cette question, mais laissez-moi essayer, imaginez que j’ai un site Web appelé xyz.com et que dans xyz, il y a 10 thèmes téléchargés et sur la page d’accueil, je montrerai le nom et la capture d’écran des 10 thèmes si quelqu’un cliquez sur activer / démo, puis ce thème sera activé dans son adresse IP uniquement jusqu’à ce que sa session soit détruite après sa visite à nouveau après un certain temps, il pourra voir l’ancien thème.

Cela signifie que si quelqu’un voulait acheter un thème sur mon site, il peut le voir directement depuis mon site.

Solution n°1 trouvée

Déposez ceci dans un fichier .php dans wp-content/mu-plugins :

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

}

Ainsi, en pointant votre navigateur sur http://yoursite.com/?theme-preview=twentyten, le site chargera ce modèle pour toute la session.

Mais il existe des plugins qui font mieux cela…

Catégories : Wordpress

Jean-Michel

Jean-Michel est en charge de la partie blog du site. Il met en place la stratégie de contenu et répond aux questions fréquentes sur Wordpress.

0 commentaire

Laisser un commentaire

Avatar placeholder

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *