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?
sumber
switch_to_blog()
tidak melewatkan permalink untuk jenis posting khususget_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.Jawaban:
Solusi saya adalah mendaftarkan jenis posting khusus di situs tempat saya memanggilnya, lalu dalam pengaturan WPML aturlah untuk menerjemahkan. Ini ada di WPML -> Manajemen Terjemahan -> Pengaturan Konten Multilingual, di bagian bawah. Saya menganggap itu bekerja dengan menipu WP agar menggunakan aturan penulisan ulang / menerjemahkan situs itu ketika tidak memiliki info yang tepat
switch_to_blog()
.sumber