Saya punya sesuatu tentang ini di forum dukungan WPML, tapi saya pikir saya bisa bertanya di sini juga. Inilah info penting: Saya sedang menjalankan pengaturan WP Multisite dengan tipe posting khusus, bidang khusus, kustomisasi segala sesuatu yang tampak. Dalam file templat tertentu, saya memiliki loop sekunder yang menarik daftar item dari blog yang berbeda. Dari apa yang saya kumpulkan, apa pun yang menggunakan API WP harus difilter hanya ke bahasa saat ini, tetapi tidak ada WP_Query()
fungsi yang saya lakukan.
Kode yang relevan:
<?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();
?>
Masalahnya di sini ada dua: pertama, itu mengembalikan hasil dari setiap bahasa, bukan bahasa saat ini - posting yang sama, tiga kali (EN, FR, DE). Kedua, hasil dari get_permalink()
sepenuhnya salah - itu memuntahkan http://www.mysite.com/blog23name/postname alih-alih http://www.mysite.com/blog23name/lang/posttype/postname - permalink kustom yang ditampilkan pada halaman 'edit posting'.
Ada ide?
switch_to_blog()
tidak melewatkan permalink untuk jenis posting khusus get_permalink()
- menjadikan ini tempat yang tepat untuk bertanya tentang hal itu. Terima kasih untuk downvote, meskipun, ini jauh lebih bermanfaat daripada benar-benar datang dengan jawaban untuk pertanyaan lama 2 bulan.