2017-05-11 19 views
-1

私は過去数時間にわたって何らかの検索を行っていました。ここには何も入っていません。カスタム投稿タイプの投稿タグがデフォルト以外の言語のWPMLでアーカイブに表示されない

私は'taxonomies' => array('post_tag')というカスタムポストタイプを持っています。私はこのカスタムポストタイプのアイテムにタグを適切に追加することができ、archive.php(/tags/{tagname})にそれらのタグ付きアイテムを見つけることさえできます。

これまでのところ、とても良いです。

しかし、今、私はaswellそのタグを表示するには、私の「英語への翻訳」の項目(/en/tags/{a different tagname}を)したい(私は英語のための私のタグのコピー、ちょうど新しい非関連タグを望んでいない

しかし、このdoes not work!私は/ en/tags/pageに/ eng/partを除外しても、英語の項目でタグ付けされたすべてのタグは表示されません。

私のカスタムポストタイプでは、 has_archiveキーをいくつかに変更してください:

  • true
  • 01無駄に
  • 'has_archive' => icl_translate('wpml_custom', 'wpml_custom_case', 'case')

すべて。

短く:私のカスタムタグタイプのオランダ語(デフォルトlang)と同様に機能するように英語のタグを設定するにはどうすればよいですか?

私のポストタイプの登録

function case_post_type() { 

    $labels = array(
     'name' => 'Cases', 
     'singular_name' => 'Case', 
     'add_new' => 'Toevoegen', 
     'add_new_item' => 'Nieuw case toevoegen', 
     'edit_item' => 'Case bewerken', 
     'new_item' => 'Nieuwe case', 
     'all_items' => 'Alle cases', 
     'view_item' => 'Bekijk case', 
     'search_items' => 'Zoek case', 
     'not_found' => 'Geen cases gevonden', 
     'not_found_in_trash' => 'Geen cases gevonden in de prullenbak', 
     'menu_name' => 'Cases' 
    ); 

    $args = array(
     'labels' => $labels, 
     'public' => true, 
     'publicly_queryable' => true, 
     'show_ui' => true, 
     'show_in_menu' => true, 
     'exclude_from_search' => false, 
     'query_var' => true, 
     'rewrite' => array('slug' => 'case'), 
     'capability_type' => 'page', 
     'has_archive' => false, 
     'hierarchical' => false, 
     'menu_position' => 8, 
     'supports' => array('title', 'editor', 'excerpt', 'thumbnail', 'page-attributes'), 
     'menu_icon' => 'dashicons-format-gallery', 
     'taxonomies' => array('post_tag') 
    ); 

    register_post_type('case', $args); 
} 
add_action('init', 'case_post_type', 0); 

マイArchive.phpがちょうどthe_loop()を持っています。簡潔でシンプル。

答えて

0

問題を修正しました。記録がないことではありませんでした。私は多くのケースとブログにタグを付け、同じタグを持っていたので、私のarchive.phpが両方を拾うと思っただけです。これはそうではありませんでした。私はアーカイブのページで、私の場合、私の記事の両方を得ることができますpre_get_posts機能を持つので、

function wpa_cpt_tags($query) { 
    if ($query->is_tag() && $query->is_main_query()) { 
     $query->set('post_type', array('post', 'case')); 
    } 
} 
add_action('pre_get_posts', 'wpa_cpt_tags'); 
関連する問題