dal momento che con PHP generi come output del codice HTML che non è altro che una serie di caratteri ASCII con una certa sintassi, nessuno ti impedisce di fare altrettanto con delle porzioni di codice Javascript 'dinamiche', dal momento che sono sempre sequenze di caratteri ASCII con una certa sintassi.
Detto ciò, PHP ha la funzione json_encode() (guarda sul manuale per maggiori dettagli) che trasforma una struttura dati in PHP in una corrispondente struttura dati in javascript (JSON = JavaScript Object Notation). Dato che nel tuo caso devi ottenere un array di oggetti puoi fare una cosa del genere
Codice PHP:
$slides = array();
foreach ( $posts as $post ) {
if ( $post->hasThumbnail() ) {
$slides[] = array( 'image' => $post->thumbnail(), 'url' => $post->url() );
}
}
print json_encode( $slides );
Ovviamente poi tutto dipende da che metodi hai a disposizione, ma questo dovresti risolvertelo da solo dato che non dai indicazione nè di cosa usi nè di eventuale altro codice.