WPML mit WP_Query, das alle 3 Sprachen bedient

Ich habe etwas darüber in den WPML-Supportforen, aber ich dachte, ich könnte auch hier fragen. Hier ist die wichtige Information: Ich führe ein WP Multisite-Setup mit benutzerdefinierten Post-Typen, benutzerdefinierten Feldern, benutzerdefinierte alles, was es scheint. In einer bestimmten Vorlagendatei habe ich eine sekundäre Schleife, die eine Liste von Elementen aus einem anderen Blog aufruft. WP_Query() was ich gesammelt habe, sollte alles, was die WP-API verwendet, auf die aktuelle Sprache herunter gefiltert werden, aber keine der WP_Query() -functionen, die ich habe, tun dies.

Relevanter Code:

  'release-notes', 'suppress_filters' => 0, 'meta_query' => array( array( 'key' => 'related_products', 'value' => $thisproduct, 'compare' => 'LIKE' ) ) ); $loop = new WP_Query($args); if ($loop->have_posts()) { echo '

Release Notes

'; while ( $loop->have_posts() ) : $loop->the_post(); //echo '
'; //print_r($post); //echo '

'; $post_link = ($post->post_name); echo '

' . get_the_title() . '

'; endwhile; // foreach($posts } // if ($results restore_current_blog(); ?>

Das Problem ist hier zweierlei: erstens gibt es Ergebnisse aus jeder Sprache statt der aktuellen Sprache – den gleichen Beitrag, dreimal (EN, FR, DE). Zweitens, das Ergebnis von get_permalink() ist völlig falsch – es spuckt http://www.mysite.com/blog23name/postname statt http://www.mysite.com/blog23name/lang/posttype/postname – die benutzerdefinierte Permalink wird auf der Seite ‘Beitrag bearbeiten’ angezeigt.

Irgendwelche Ideen?

Solutions Collecting From Web of "WPML mit WP_Query, das alle 3 Sprachen bedient"

Meine Lösung bestand darin, die benutzerdefinierten Post-Typen auf der Site zu registrieren, von der aus ich sie aufruft, und dann in den WPML-Einstellungen für die Übersetzung festzulegen. Dies ist in WPML -> Übersetzungsmanagement -> Multilingual Content Setup, unten am unteren Rand. Ich nehme an, es funktioniert, indem Sie WP austricksen, um die Rewrite / Translate-Regeln dieser Site zu verwenden, wenn es nicht die richtigen Informationen von switch_to_blog() .