1

ファイルfunctions.phpでカスタム カテゴリを作成しました

$labels = array(
    'name' => _x('Partners', 'post type general name'),
    'singular_name' => _x('Partners', 'post type singular name'),
    'add_new' => _x('Add New', 'partners'),
    'add_new_item' => __("Add New Partners"),
    'edit_item' => __("Edit Partners"),
    'new_item' => __("New Partners"),
    'view_item' => __("View Partners"),
    'search_items' => __("Search Partners"),
    'not_found' =>  __('No partners found'),
    'not_found_in_trash' => __('No partners found in Trash'), 
    'parent_item_colon' => ''
  );
  $args = array(
    'labels' => $labels,
    'public' => true,
    'publicly_queryable' => true,
    'show_ui' => true,
    'menu_icon' => 'dashicons-groups',
    'query_var' => true,
    'rewrite' => true,
    'capability_type' => 'post',
    'hierarchical' => false,
    'menu_position' => null,
    'supports' => array('title','thumbnail','excerpt', 'editor')
  ); 
  register_post_type('partners',$args);

パートナーのテンプレートに次のように書きました。

<?php
        $args = array(
        'posts_per_page' => -1,  // Get all posts
        'post_type' => 'partners',  // Query for the default Post type
        'order_by' => 'post_date'  // Order by date posted
        );
        $last_five_posts = get_posts( $args );


        foreach ( $last_five_posts as $post ) : setup_postdata( $post );



?>

そして、それはうまくいきます。このページには、カスタム カテゴリで編集したすべての投稿が表示されます。

問題は翻訳で出てきました。私は WMPL プラグインを使用しています。イタリア語と英語の 2 つの言語を使用しています。パートナーのページには、両方の言語が表示されます。

イタリア語のページ:

  • 投稿 ORIGINAL1

  • 翻訳済み1を投稿

  • 投稿 ORIGINAL2

  • 翻訳済み2を投稿

  • ...

英語ページ:

  • 投稿 ORIGINAL1

  • 翻訳済み1を投稿

  • 投稿 ORIGINAL2

  • 翻訳済み2を投稿

  • ...

問題はコードにあると思います。何か不足しています。

それを修正する方法を知っていますか?

4

1 に答える 1

1

サポートが答えてくれました。パートナーのテンプレートでは、get_posts () 関数を使用する代わりに、WP_Query クラスを使用する必要がありました。

<?php
    $args = array(
    'posts_per_page' => -1,  // Get all posts
    'post_type' => 'partners',  // Query for the default Post type
    'order_by' => 'post_date'  // Order by date posted
    );
    $last_five_posts = new WP_Query( $args );


    if( $last_five_posts->have_posts() ): while( $last_five_posts->have_posts() ) : $last_five_posts->the_post();
  ?>

于 2014-11-18T20:10:02.673 に答える