WordPress : Démo du thème sur le site en direct
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…
0 commentaire