Ho riscontrato un problema simile durante la creazione di un'impaginazione personalizzata per un sito su cui sto lavorando.
La variabile globale che ho creato in functions.php è stata definita e impostata su 0. Potrei generare questo valore nel mio javascript senza problemi utilizzando il metodo @Karsten descritto sopra. Il problema è stato con l'aggiornamento della variabile globale che ho inizialmente impostato a 0 all'interno del file PHP.
Qui è la mia soluzione (hacky lo so?!), Ma dopo aver lottato per un'ora su una scadenza stretta le seguenti opere:
All'interno archivio-episodi.php:
<script>
// We define the variable and update it in a php
// function defined in functions.php
var totalPageCount;
</script>
All'interno functions.php
<?php
$totalPageCount = WP_Query->max_num_pages; // In my testing scenario this number is 8.
echo '<script>totalPageCount = $totalPageCount;</script>';
?>
Per mantenerlo semplice, mi è stato l'output del variabile TotalPageCount in un $ ajax.success richiamata tramite avviso.
$.ajax({
url: ajaxurl,
type: 'POST',
data: {"action": "infinite_scroll", "page_no": pageNumber, "posts_per_page": numResults},
beforeSend: function() {
$(".ajaxLoading").show();
},
success: function(data) {
//alert("DONE LOADING EPISODES");
$(".ajaxLoading").hide();
var $container = $("#episode-container");
if(firstRun) {
$container.prepend(data);
initMasonry($container);
ieMasonryFix();
initSearch();
} else {
var $newItems = $(data);
$container.append($newItems).isotope('appended', $newItems);
}
firstRun = false;
addHoverState();
smartResize();
alert(totalEpiPageCount); // THIS OUTPUTS THE CORRECT PAGE TOTAL
}
In ogni caso, spero che questo aiuti gli altri! Se qualcuno ha una versione "meno hacky" o un esempio di best practice, sono tutto orecchie.
fonte
2013-02-09 06:24:19
se si intende contrassegnare le cose come "dups", postare collegamenti a tali thread, altrimenti è solo un postcount ++. – whispers