Tôi đã có vài thứ về điều này trên các diễn đàn hỗ trợ WPML, nhưng tôi đoán rằng tôi cũng có thể hỏi ở đây. Đây là thông tin quan trọng: Tôi đang chạy thiết lập WP Multisite với các loại bài đăng tùy chỉnh, trường tùy chỉnh, tùy chỉnh mọi thứ có vẻ như. Trong một tệp mẫu cụ thể, tôi đã có một vòng lặp thứ cấp kéo theo danh sách các mục từ một blog khác. Từ những gì tôi thu thập được, mọi thứ sử dụng API WP chỉ nên được lọc theo ngôn ngữ hiện tại, nhưng không có WP_Query()
chức năng nào tôi có được làm như vậy.
Mã liên quan:
<?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();
?>
Vấn đề ở đây có hai mặt: đầu tiên, nó trả về kết quả từ mọi ngôn ngữ thay vì ngôn ngữ hiện tại - cùng một bài đăng, ba lần (EN, FR, DE). Thứ hai, kết quả từ get_permalink()
là hoàn toàn sai - nó đã nhổ ra http://www.mysite.com/blog23name/postname thay vì http://www.mysite.com/blog23name/lang/posttype/postname - permalink tùy chỉnh được hiển thị trên trang 'chỉnh sửa bài'.
Có ý kiến gì không?
switch_to_blog()
không vượt qua permalinks cho các loại bài đăng tùy chỉnh với get_permalink()
- làm cho đây là một nơi tuyệt vời để hỏi về nó. Tuy nhiên, cảm ơn về downvote, nó hữu ích hơn nhiều so với việc thực sự đưa ra câu trả lời cho câu hỏi 2 tháng tuổi.