Problemă cu WP_Query și Polylang
În tema pe care o dezvolt, am un șablon care afișează 5 postări folosind bucla standard:
<?php
$my_query = new WP_Query('showposts=5');
while ($my_query->have_posts()) : $my_query->the_post(); ?>
și așa mai departe...
Există o pagină (Actualités) care folosește acest șablon. Am adăugat Polylang și am creat o altă pagină (News) care folosește același șablon. Nu vor exista traduceri în engleză pentru intrările de blog, dar aș dori ca cititorii vorbitori de engleză să fie direcționați către pagina News care va fi "la fel" ca Actualités (în franceză).
M-aș fi așteptat ca interogarea de mai sus să producă același rezultat indiferent de pagina care folosește șablonul, dar de fapt pagina franceză funcționează corect, iar în News nu văd nicio postare. Aveți idei?

OK - Am înțeles, postările vechi deja existente în baza de date NU au o traducere în engleză și asta e problema cu bucla mea. Când adaug o postare nouă, am opțiunea să furnizez o traducere care apoi apare în pagina engleză.
Prin documentație am găsit că pot afișa și versiunea implicită când nu există traducere prin ceva de genul:
<?php query_posts(array('post_type' => 'post','lang' => 'fr')); // forțează interogarea postărilor în franceză ?>
if (have_posts()) : ?>
<?php while (have_posts()) : the_post(); ?>
<?php global $post;
if($post_id = pll_get_post($post->ID, pll_current_language())) { // obține postarea tradusă (în limba curentă) dacă există
$post = get_post($post_id);
setup_postdata($post);
}?>
... faci ce vrei în bucla ta ...

Nu este mai ușor așa?
$paged = get_query_var('page') ?: 1;
$args = array(
's' => get_search_query(),
'posts_per_page' => 8,
'paged' => (int) $paged,
'fields' => 'ids',
'post_type' => array('any'),
'tax_query' => array(
array(
'taxonomy' => 'language',
'field' => 'slug',
'terms' => pll_current_language(),
)
),
);
$query = new WP_Query( $args );

Răspunsul tău ar putea fi îmbunătățit cu informații suplimentare de susținere. Te rugăm să [editezi] pentru a adăuga detalii suplimentare, cum ar fi citate sau documentație, astfel încât alții să poată confirma că răspunsul tău este corect. Poți găsi mai multe informații despre cum să scrii răspunsuri bune în centrul de ajutor.
