web-dev-qa-db-ja.com

カテゴリスラッグでカスタムポストタイプをクエリする

カテゴリスラッグによってカスタム投稿タイプを照会しようとしていますが、まったく機能していません

カスタム投稿タイプ定義:

add_action( 'init', 'custom_post_albuns' );
 
// The custom function to register a movie post type
function custom_post_albuns() {
 
  // Set the labels, this variable is used in the $args array
  $labels = array(
    'name'               => __( 'Albuns' ),
    'singular_name'      => __( 'Album' ),
    'add_new'            => __( 'Add New Album' ),
    'add_new_item'       => __( 'Add New Album' ),
    'edit_item'          => __( 'Edit Album' ),
    'new_item'           => __( 'New Album' ),
    'all_items'          => __( 'All Albuns' ),
    'view_item'          => __( 'View Album' ),
    'search_items'       => __( 'Search Albuns' ),
    'featured_image'     => 'Featured Image',
    'set_featured_image' => 'Add Featured Image'
  );
 
  // The arguments for our post type, to be entered as parameter 2 of register_post_type()
  $args = array(
    'labels'            => $labels,
    'description'       => 'm6 Records Albuns',
    'public'            => true,
    'menu_position'     => 6,
    'supports'          => array( 'title', 'editor', 'thumbnail', 'excerpt', 'comments', 'custom-fields' ),
    'has_archive'       => true,
    'show_in_admin_bar' => true,
    'show_in_nav_menus' => true,
    'has_archive'       => true,
    'menu_icon'         => 'dashicons-album',
    'query_var'         => 'album'
  );
 
  // Call the actual WordPress function
  // Parameter 1 is a name for the post type
  // Parameter 2 is the $args array
  register_post_type( 'album', $args);
}

add_action( 'init', 'create_album_taxonomies', 0 );

function create_album_taxonomies() {
    $labels = array(
        'name'              => _x( 'Categories', 'taxonomy general name' ),
        'singular_name'     => _x( 'Category', 'taxonomy singular name' ),
        'search_items'      => __( 'Search Categories' ),
        'all_items'         => __( 'All Categories' ),
        'parent_item'       => __( 'Parent Category' ),
        'parent_item_colon' => __( 'Parent Category:' ),
        'edit_item'         => __( 'Edit Category' ),
        'update_item'       => __( 'Update Category' ),
        'add_new_item'      => __( 'Add New Category' ),
        'new_item_name'     => __( 'New Category Name' ),
        'menu_name'         => __( 'Categories' ),
    );

    $args = array(
        'hierarchical'      => true, // Set this to 'false' for non-hierarchical taxonomy (like tags)
        'labels'            => $labels,
        'show_ui'           => true,
        'show_admin_column' => true,
        'query_var'         => true,
        'rewrite'           => array( 'slug' => 'albuns' ),
    );

    register_taxonomy( 'albuns_categories', array( 'album' ), $args );
}
 _

そして私のクエリ:

$argsPost = array(
                    'post_type'=>'album', 
                    'orderby'=>'date',
                    'order'   => 'DESC',
                    'posts_per_page'=>'4',
                    'tax_query' => array(
                        array(
                            'taxonomy' => 'albuns_categories',
                            'field' => 'slug', 
                            'terms' => array( 'ANYTERM' ) 
                        )
                    )
                  );
 _

そして私はアルバンのリストを持つことができません(tax_queryの部分を削除した場合、それは私にすべての "Albuns"カスタム投稿タイプを返す)

ありがとう!!

1

私は別のフォーラムで私のためにperfecltyに働いた答えを持っています、それで誰かが同様の問題を取得した場合にここに投稿します

$argsPost = array(
    'post_type'=>'album', 
    'orderby'=>'date',
    'order'   => 'DESC',
    'posts_per_page'=>'4',
    'tax_query' => array(
        array(
            'taxonomy' => 'albuns_categories',
            'field' => 'slug', 
            'terms' => array( 'ANYTERM' ),
            'operator' => 'IN'
        )
    )
);
 _

= D.

1