Ich habe etwas darüber in den WPML-Support-Foren, aber ich dachte, ich könnte auch hier fragen. Hier sind die wichtigen Informationen: Ich führe ein WP Multisite-Setup mit benutzerdefinierten Beitragstypen, benutzerdefinierten Feldern und benutzerdefinierten Elementen aus. In einer bestimmten Vorlagendatei habe ich eine sekundäre Schleife, die eine Liste von Elementen aus einem anderen Blog abruft. Nach allem, was ich gesammelt habe, sollte alles, was die WP-API verwendet, nur auf die aktuelle Sprache heruntergefiltert werden, aber keine der WP_Query()
Funktionen, die ich habe, tut dies.
Relevanter Code:
<?php
switch_to_blog(23);
$args = array('post_type' => '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 '<h2>Release Notes</h2>';
while ( $loop->have_posts() ) : $loop->the_post();
//echo '<pre>';
//print_r($post);
//echo '</pre>';
$post_link = ($post->post_name);
echo '<p><a class="text-link" href="' . get_permalink() . '">' . get_the_title() . '</a></p>';
endwhile; // foreach($posts
} // if ($results
restore_current_blog();
?>
Hier gibt es zwei Probleme: Erstens werden Ergebnisse aus jeder Sprache anstelle der aktuellen Sprache zurückgegeben - derselbe Beitrag dreimal (EN, FR, DE). Zweitens ist das Ergebnis von get_permalink()
völlig falsch - es spuckt http://www.mysite.com/blog23name/postname anstelle von http://www.mysite.com/blog23name/lang/posttype/postname aus - der benutzerdefinierte Permalink, der auf angezeigt wird die Seite 'Beitrag bearbeiten'.
Irgendwelche Ideen?
switch_to_blog()
es werden keine Permalinks für benutzerdefinierte Beitragstypen mit übergangen get_permalink()
- was dies zu einem großartigen Ort macht, um danach zu fragen. Vielen Dank für die Ablehnung. Es ist jedoch viel hilfreicher, als eine Antwort auf eine 2 Monate alte Frage zu finden.