Cохранение и подстановка имени и эл. почты комментатора в WordPress через jQuery
Доброго времени суток, уважаемые гуру.
Мне необходимо запоминать введённые данные комментатора (Имя и электронная почта) и подставлять их на других страницах. Сейчас этого не происходит из-за использования кеширующего плагина. Вот такой скрипт я подчеркнул http://dimox.name/jquery-script-cook...ress-maxcache/
var $j = jQuery.noConflict();
$j(function() {
var author = readCookie('wp_commenter_author');
var email = readCookie('wp_commenter_email');
var url = readCookie('wp_commenter_url');
if (author) $j('input[name="author"]').val(author);
if (email) $j('input[name="email"]').val(email);
if (url) $j('input[name="url"]').val(url);
$j('#commentform').submit(function() {
if ($j('input[name="author"]').length) createCookie('wp_commenter_author', $j('input[name="author"]').val(), 365);
if ($j('input[name="email"]').length) createCookie('wp_commenter_email', $j('input[name="email"]').val(), 365);
if ($j('input[name="url"]').length) createCookie('wp_commenter_url', $j('input[name="url"]').val(), 365);
});
})
Я его переделал, руководствуясь своими очень скоромными познаниями в JS:
jQuery(function() {
var author = readCookie('wp_commenter_author');
var email = readCookie('wp_commenter_email');
if (author) jQuery('input[name="author"]').val(author);
if (email) jQuery('input[name="email"]').val(email);
jQuery('#commentform').submit(function() {
if (jQuery('input[name="author"]').length) createCookie('wp_commenter_author', jQuery('input[name="author"]').val(), 365);
if (jQuery('input[name="email"]').length) createCookie('wp_commenter_email', jQuery('input[name="email"]').val(), 365);
});
})
Но почему то пишет в консоле ошибку "readCookie" не определено и соответственно скрипт свою функцию не выполняет. Как правильно должно быть? |
На странице нет функций "readCookie" и "createCookie".
Вставьте эти функции до своего кода:
function cookie(name,value,days){
if(value){
var expires="";
if(days){
var date=new Date();
date.setTime(date.getTime()+(days*24*3600*1000));
expires="; expires="+date.toGMTString();
}
document.cookie=name+"="+value+expires+"; path=/";
return true;
}else{
var nameEQ=name+"=";
var ca=document.cookie.split(';');
for(var i=0;i<ca.length;i++){
var c=ca[i];
while(c.charAt(0)==' ') c=c.substring(1,c.length);
if(c.indexOf(nameEQ)==0) return c.substring(nameEQ.length,c.length);
}
return null;
}
};
function readCookie(name){
return cookie(name);
}
function createCookie(name,value,days){
return cookie(name,value,days);
}
|
Nexus
Большое спасибо! Так работает как положено :-) |
| Часовой пояс GMT +3, время: 19:49. |