Domanda

Nel mio blog root (1), ho un tipo di post personalizzato che può essere collegato a un blog esistente della mia rete. Lo fa registrando in post Metas l'ID del blog a cui è collegato. Io uso _blog_id come nome per questi dati.

In una pagina di questo blog di root, elenco questi post personalizzati e ritengo facilmente la meta che ho salvato:

<?php while ( have_posts() ) : the_post();
$blog_id = get_post_meta(get_the_id(), '_blog_id', true);

Ora, ho l'ID del blog da cui voglio informazioni, quindi provo quanto segue:

switch_to_blog($blog_id);
$blog_url = get_bloginfo('url');
restore_current_blog();

Sfortunatamente, non funziona perché $blog_url ha l'URL del blog di root.

Peggio: switch_to_blog() funziona ma no restore_current_blog(), poiché le successive chiamate alle funzioni ad anello ora funzionano nel sottoblocco. Ad esempio, quando si chiama the_post_thumbnails(), la fonte dell'immagine è indicata da "/uploads/siti/2/2014 ..." mentre sono nel sito di root.

Come puoi immaginare, ho due domande:

  1. Come ritirare le informazioni sul blog di un altro blog nella rete, dal modello di un blog?
  2. Perché lo fa switch_to_blog(), seguito da restore_current_blog() fa le funzioni del loop per comportarsi in modo errato?

Grazie a tutti! Buon fine settimana!

Nessuna soluzione corretta

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a wordpress.stackexchange
scroll top