Update a day later: Cookies are now being set. I try karşı show the changes I needed karşı make with the edits in the code quoted below. There's still a problem. Now it's not applying the non-default stylesheets! The browser can find them, but not the switcher....
(original question:) I'm using Rob Ballou's v.2 Styleswitcher (robballou.com/switcher/v2/tukarşırial.php), in a WP3 blog (site is here). I've altered the stylesheet urls, so that WP knows where karşı find them:
from:
$ss->addStyle("default", "style.css", "", "", true);
karşı
$my_url = get_bloginfo('template_url');
$ss->addStyle("default", $my_url . '/style.css', "", "", true);
Belge kaynağı tarafından bakılırsa, stil sayfaları bulunan edilmektedir. Yani bu sorun değil. Ancak çerez sadece ayarlanır almıyor. Ben bir web sayfası (örneğin molvray.com / test / ss-example.php) üzerinde aynı komut dosyalarını çalıştırmak, çalışır, ve ben çerezleri kontrol ederken, cwStyle kurulmuştur. Ama en kısa sürede bunu WP, hiçbir şans olduğu gibi.
I'm guessing the problem is this line: $ss->cookieDomain = ".". $_SERVER['HTTP_HOST'];
in switcher.php. I saw a post that suggested using HTTP_REFERRER instead, but that doesn't help. I've included switcher.php below. I haven't karşıuched Styleswitcher.php itself.
Herkes yanlış ne yapıyorum bana söyleyebilir? Burada fındık gidiyorum!
Ben Aşağıdakilerden bir kartopu şansı var ki, mümkün olduğunca dumbed aşağı olun. Ben programlama oldukça işe yaramam.
New: most of switcher.php is included in header.php instead of as a separate file.
header.php:
<?php
require_once("Styleswitcher.php");
$ss = new Styleswitcher('/switcher/v2/');
if(!isset($reqPath)){ $reqPath = ""; }
require_once($reqPath ."Styleswitcher.php");
$my_url = get_bloginfo('template_url');
$ss = new Styleswitcher();
$ss->addStyle("default", $my_url . '/style.css', "", "", true);
$ss->addStyle("lowgraphics", $my_url . '/handheld.css');
$ss->addStyle("highcontrast", $my_url . '/highcontrast.css');
$ss->createSet("style");
$ss->addStyleToSet("style", "default", true);
$ss->addStyleToSet("style", "lowgraphics");
$ss->addStyleToSet("style", "highcontrast");
$ss->cookieDomain = ".". $_SERVER['HTTP_HOST'];
$ss->cookieName = "cwStyle";
$ss->start();
$ss->printStyles();
?>
Gerçek switcher.php sadece daha sonra:
<?php
if(!isset($reqPath)){ $reqPath = $my_url; }
require_once("Styleswitcher.php");
$ss = new Styleswitcher('/switcher/v2/');
$ss->cookieDomain = ".". $_SERVER['HTTP_HOST'];
$ss->cookieName = "cwStyle";
$ss->start();
?>
wordpress ve header.php kullanılan formu yerine sadece "switcher.php" yorum "<_?php bloginfo('template_url'); ?> / switcher.php" vardır
<form action="<?php bloginfo('template_url'); ?>/switcher.php" method="post">
<_input type="hidden" name="referer" id="referer" value="" />
<input type="hidden" name="inputStyle2" id="inputStyle2" value="style" />
<li><input type="submit" name="style" id="default" value="Default" <?php $ss->printSetInputChecked("style", "default"); ?>/></li>
<li><input type="submit" name="style" id="lowgraphics" value="Mobile" <?php $ss->printSetInputChecked("style", "lowgraphics"); ?>/></li>
<li><input type="submit" name="style" id="highcontrast" value="High Contrast" <?php $ss->printSetInputChecked("style", "highcontrast"); ?>/> </li>
</form>
The crucial bit, I think, was adding the php bloginfo('template_url') path karşı switcher.php in the form element. Now on karşı figuring out why it doesn't go karşı anything but the default style.