WPML con WP_Query che serve tutte e 3 le lingue [chiuso]


8

Ho qualcosa a riguardo nei forum di supporto di WPML, ma ho pensato di poterlo chiedere anche qui. Ecco le informazioni importanti: sto eseguendo una configurazione WP Multisite con tipi di post personalizzati, campi personalizzati, tutto ciò che sembra personalizzato. In un particolare file modello, ho un ciclo secondario che estrae un elenco di elementi da un blog diverso. Da quello che ho raccolto, tutto ciò che utilizza l'API WP dovrebbe essere filtrato solo nella lingua corrente, ma nessuna delle WP_Query()funzioni che ho lo sta facendo.

Codice rilevante:

<?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();
?>

Il problema qui è duplice: in primo luogo, restituisce risultati da ogni lingua anziché dalla lingua corrente - lo stesso post, tre volte (EN, FR, DE). In secondo luogo, il risultato get_permalink()è completamente sbagliato - sta sputando http://www.mysite.com/blog23name/postname invece di http://www.mysite.com/blog23name/lang/posttype/postname - il permalink personalizzato mostrato su la pagina "modifica post".

Qualche idea?


1
IMO, non è giusto porre domande premium sui plugin qui ...
brasofilo,

"Non è giusto"? In quale modo? Perché dovrebbe esserci un tag per WPML se non potesse essere richiesto qui? Controlla di nuovo le FAQ, amico. È concesso in licenza in base alla GPL (anche la versione premium), quindi tecnicamente potrei pubblicare eventuali blocchi di codice rilevanti affinché altri possano cercare la risoluzione dei problemi. Detto questo, almeno uno dei problemi è un problema fondamentale di WordPress - switch_to_blog()non passa i permalink per i tipi di post personalizzati con get_permalink()- rendendolo un ottimo posto per chiederlo. Grazie per il downvote, tuttavia, è molto più utile che trovare una risposta a una domanda di 2 mesi.
SickHippie,

Hanno una "versione gratuita"? Se lo fanno, scusa, non ero a conoscenza ... Se non lo fanno, avere un Tag non scusa alcun GPL ...
brasofilo,

2
Sì, avrei dovuto portarlo sul Meta prima del downvoting, ora non posso annullarlo. Grazie per il claryfying, @Bainternet. SickHippie, sembra che tu non abbia ancora una risposta nel loro forum, spera che ci sia una buona anima, mentre rivedi le vecchie domande, si imbatte in questo e lo vota. Cordiali saluti e scusate l'errore.
brasofilo,

5
@brasofilo - nessun problema, amico. Ieri ero un po 'stressato e mi scuso per il mio atteggiamento aggressivo. Non è stato richiesto e mi dispiace molto.
SickHippie,

Risposte:


2

La mia soluzione era quella di registrare i tipi di post personalizzati sul sito da cui lo chiamo, quindi nelle impostazioni di WPML impostarli per la traduzione. Questo è in WPML -> Gestione delle traduzioni -> Impostazione del contenuto multilingue, in basso. Presumo che funzioni inducendo WP a utilizzare le regole di riscrittura / traduzione di quel sito quando non ha le informazioni corrette da switch_to_blog().

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.