Следующий код в файле Single.php не работает должным образом. $ post-> ID и is_user_logged_in () получают нулевые значения.Если все работает нормально, я могу получить идентификатор записи в виде массива в локальном хранилище.
<script>
window.onload = function() {
var logged_in='<?php echo is_user_logged_in() ?>';
if (logged_in==false || logged_in==0) {
var myArray = JSON.parse(localStorage.getItem('articles') )|| [];
var article_postid='<?php echo $post->ID ?>';
//check already read? if not push into array
index = is_exist.call(myArray, article_postid);
if(!index){
myArray.push(article_postid);
localStorage.setItem('articles', JSON.stringify(myArray));
}
}
}
var is_exist = function(article_postid) {
// Per spec, the way to identify NaN is that it is not equal to itself
var findNaN = article_postid !== article_postid;
var indexOf;
if(!findNaN && typeof Array.prototype.indexOf === 'function') {
indexOf = Array.prototype.indexOf;
} else {
indexOf = function(article_postid) {
var i = -1, index = -1;
for(i = 0; i < this.length; i++) {
var item = this[i];
if((findNaN && item !== item) || item === article_postid) {
index = i;
break;
}
}
return index;
};
}
return indexOf.call(this, article_postid) > -1;
};
</script>