Как обработать JS & PHP Script в Wordpress - PullRequest
0 голосов
/ 12 июня 2011

Проблема: Сценарий, указанный ниже, будет работать, только если он указан на странице.Если его ставят в очередь, то он терпит неудачу.Я предполагаю, что это потому, что если он поставлен в очередь, то php НЕ обрабатывается, но я не знаю достаточно, чтобы быть уверенным.

Вопрос Есть ли способ вызвать скрипт или это так?просто фундаментальное требование, что любой скрипт, содержащий php, должен быть указан на странице?

Спасибо

<script type="text/javascript">
jQuery(document).ready(function() {
jQuery('#buttonLink').dialog({autoOpen: false});
var readerStatus="<?php echo $_COOKIE['readerStatus'];?>";

if (readerStatus=="tester")  
    {
    jQuery("#buttonLink").dialog('open');
    }
});
</script>

Ответы [ 2 ]

1 голос
/ 12 июня 2011

Вам не нужно использовать PHP для чтения куки, вы можете сделать это с помощью javascript:

<script type="text/javascript">
    /**
     * taken from
     *   http://www.w3schools.com/js/js_cookies.asp 
     * but instead you can opt for the jquery cookie
     * plugin, see
     *    http://stackoverflow.com/q/2148695/367456
     */
    function getCookie(c_name)
    {
    var i,x,y,ARRcookies=document.cookie.split(";");
    for (i=0;i<ARRcookies.length;i++)
    {
      x=ARRcookies[i].substr(0,ARRcookies[i].indexOf("="));
      y=ARRcookies[i].substr(ARRcookies[i].indexOf("=")+1);
      x=x.replace(/^\s+|\s+$/g,"");
      if (x==c_name)
        {
        return unescape(y);
        }
      }
    }

    jQuery(document).ready(function() {
        jQuery('#buttonLink').dialog({autoOpen: false});
        var readerStatus=getCookie('readerStatus');

        if (readerStatus && readerStatus=="tester")  
        {
            jQuery("#buttonLink").dialog('open');
        }
    });
</script>
1 голос
/ 12 июня 2011

Просто сделайте ваш внешний файл javascript похожим на common.js.php и сделайте так, чтобы php выводил данные как javascriptЗатем вы можете включить в свой скрипт любые переменные PHP, которые вам нужны.

<?php 
header('Content-type: application/javascript');
?>
jQuery(document).ready(function() {
jQuery('#buttonLink').dialog({autoOpen: false});
var readerStatus="<?php echo $_COOKIE['readerStatus'];?>";

if (readerStatus=="tester")  
    {
    jQuery("#buttonLink").dialog('open');
    }
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...