3つの言語すべてを提供するWP_Queryを備えたWPML [終了]


8

WPMLサポートフォーラムでこれについて何か知っていますが、ここでも質問できると思いました。重要な情報は次のとおりです。私は、カスタム投稿タイプ、カスタムフィールド、見た目すべてをカスタマイズしたWPマルチサイトセットアップを実行しています。特定のテンプレートファイルで、別のブログからアイテムのリストを取得する二次ループがあります。私が収集したものから、WP APIを使用するものはすべて、現在の言語のみにフィルタリングする必要がありますが、WP_Query()私が持っている機能はどれもそうしていません。

関連コード:

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

ここでの問題は2つあります。1つ目は、現在の言語ではなくすべての言語からの結果を返すことです-同じ投稿を3回(EN、FR、DE)。第二に、からの結果get_permalink()は完全に間違っています -http ://www.mysite.com/blog23name/lang/posttype/postnameの代わりにhttp://www.mysite.com/blog23name/postnameを吐き出しています -カスタムパーマリンクが「投稿の編集」ページ。

何か案は?


1
IMO、ここでプレミアムプラグインの質問をするのは公平ではありません...
brasofilo

"公平ではない"?どのように?ここで質問できないのに、なぜWPMLのタグがあるのでしょうか?もう一度、FAQを確認してください。これはGPL(プレミアムバージョンも含む)に基づいてライセンスされているため、技術的には、トラブルシューティングのために他の人が参照できるように、関連するコードチャンクを投稿できました。とは言っても、問題の少なくとも1つはWordPressの主要な問題であり、switch_to_blog()カスタム投稿タイプのパーマリンクが渡されないためget_permalink()、これについて質問するのに最適です。しかし、反対票をありがとう、それは実際に2か月前の質問に対する答えを思いつくよりもはるかに役立ちます。
SickHippie

「無料版」はありますか?彼らがそうした場合、申し訳ありませんが、私は気づいていませんでした...知らない場合、タグがあってもGPLの言い訳にはなりません...
brasofilo

2
はい、ダウン投票する前にメタに持っていたはずですが、元に戻すことはできません。@Bainternet、ありがとうございました。SickHippie、フォーラムでまだ回答が得られていないようです。古き良き質問を修正しながら、この質問につまずいて賛成してください。よろしくお願いします。間違いをお詫びします。
ブラソフィロ2012年

5
@brasofilo-心配しないで、仲間。昨日は少しストレスがたまっており、攻撃的な態度をお詫びします。それは要求されなかった、と私は非常に申し訳ありません。
SickHippie

回答:


2

私の解決策は、それを呼び出しているサイトにカスタム投稿タイプを登録し、WPMLの設定で翻訳するように設定することでした。これはWPML-> Translation Management-> Multilingual Content Setupの下部にあります。からの適切な情報がない場合、WPにそのサイトの書き換え/変換ルールを使用するように仕向けることで機能すると思いswitch_to_blog()ます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.