我正在尝试使用ajax过滤自定义post类型的数据。为此,我将一些自定义分类显示为select标记。
我已经尝试了6个小时使用带有这些自定义分类参数的WP\\u查询来检索自定义帖子类型,但我无法使查询正常工作。
这是我的自定义帖子类型:
function cpt_retiro() {
$labels = array(
\'name\' => _x( \'Retiros\', \'Post Type General Name\', \'break-breath\' ),
\'singular_name\' => _x( \'Retiro\', \'Post Type Singular Name\', \'break-breath\' ),
\'menu_name\' => __( \'Retiros\', \'break-breath\' ),
\'name_admin_bar\' => __( \'Retiros\', \'break-breath\' ),
\'archives\' => __( \'Archivos del retiro\', \'break-breath\' ),
\'attributes\' => __( \'Atributos del retiro\', \'break-breath\' ),
\'parent_item_colon\' => __( \'Elemento padre\', \'break-breath\' ),
\'all_items\' => __( \'Todos los retiros\', \'break-breath\' ),
\'add_new_item\' => __( \'Añadir nuevo retiro\', \'break-breath\' ),
\'add_new\' => __( \'Añadir nuevo\', \'break-breath\' ),
\'new_item\' => __( \'Nuevo retiro\', \'break-breath\' ),
\'edit_item\' => __( \'Editar retiro\', \'break-breath\' ),
\'update_item\' => __( \'Actualizar retiro\', \'break-breath\' ),
\'view_item\' => __( \'Ver retiro\', \'break-breath\' ),
\'view_items\' => __( \'Ver retiros\', \'break-breath\' ),
\'search_items\' => __( \'Buscar retiro\', \'break-breath\' ),
\'not_found\' => __( \'No se han encontrado retiros\', \'break-breath\' ),
\'not_found_in_trash\' => __( \'No se han encontrado retiros en la papelera\', \'break-breath\' ),
\'featured_image\' => __( \'Imagen destacada\', \'break-breath\' ),
\'set_featured_image\' => __( \'Seleccionar imagen destacada\', \'break-breath\' ),
\'remove_featured_image\' => __( \'Borrar imagen destacada\', \'break-breath\' ),
\'use_featured_image\' => __( \'Establecer como imagen destacada\', \'break-breath\' ),
\'insert_into_item\' => __( \'Insertar en retiro\', \'break-breath\' ),
\'uploaded_to_this_item\' => __( \'Subido a este retiro\', \'break-breath\' ),
\'items_list\' => __( \'Listado de retiros\', \'break-breath\' ),
\'items_list_navigation\' => __( \'Navegación entre retiros\', \'break-breath\' ),
\'filter_items_list\' => __( \'Filtrar retiros\', \'break-breath\' ),
);
$args = array(
\'label\' => __( \'Retiro\', \'break-breath\' ),
\'description\' => __( \'Retiros\', \'break-breath\' ),
\'labels\' => $labels,
\'supports\' => array( \'title\', \'editor\', \'thumbnail\', \'excerpt\', \'comments\' ),
\'taxonomies\' => array( \'category\', \'post_tag\', \'provincia\', \'ciudad\' ),
\'hierarchical\' => true,
\'show_ui\' => true,
\'show_in_menu\' => true,
\'menu_position\' => 5,
\'menu_icon\' => \'dashicons-location-alt\',
\'show_in_admin_bar\' => true,
\'show_in_nav_menus\' => true,
\'can_export\' => true,
\'has_archive\' => true,
\'exclude_from_search\' => false,
\'publicly_queryable\' => true,
\'capability_type\' => \'page\',
);
register_post_type( \'retiro\', $args );}
add_action( \'init\', \'cpt_retiro\', 0 );
这是我注册的分类法之一:
function taxonomia_provincia_retiro() {
$labels = array(
\'name\' => _x( \'Provincias\', \'Taxonomy General Name\', \'break-breath\' ),
\'singular_name\' => _x( \'Provincia\', \'Taxonomy Singular Name\', \'break-breath\' ),
\'menu_name\' => __( \'Provincias\', \'break-breath\' ),
\'all_items\' => __( \'Todas las provincias\', \'break-breath\' ),
\'new_item_name\' => __( \'Añadir nuevo nombre de provincia\', \'break-breath\' ),
\'add_new_item\' => __( \'Añadir nueva provincia\', \'break-breath\' ),
\'edit_item\' => __( \'Editar provincia\', \'break-breath\' ),
\'update_item\' => __( \'Actualizar provincia\', \'break-breath\' ),
\'view_item\' => __( \'Ver provincia\', \'break-breath\' ),
\'separate_items_with_commas\' => __( \'Separar provincias por comas\', \'break-breath\' ),
\'add_or_remove_items\' => __( \'Añadir o borrar provincias\', \'break-breath\' ),
\'choose_from_most_used\' => __( \'Elegir provincia entre las más usadas\', \'break-breath\' ),
\'popular_items\' => __( \'Provincias populares\', \'break-breath\' ),
\'search_items\' => __( \'Buscar provincias\', \'break-breath\' ),
\'not_found\' => __( \'No se han encontrado provincias\', \'break-breath\' ),
\'no_terms\' => __( \'No existen provincias\', \'break-breath\' ),
\'items_list\' => __( \'Listado de provincias\', \'break-breath\' ),
\'items_list_navigation\' => __( \'Navegación entre provincias\', \'break-breath\' ),
);
$args = array(
\'labels\' => $labels,
\'hierarchical\' => true,
\'public\' => true,
\'show_ui\' => true,
\'show_admin_column\' => true,
\'show_in_nav_menus\' => true,
\'show_tagcloud\' => true,
\'query_var\' => true
);
register_taxonomy( \'provincia\', array( \'retiro\' ), $args );}
add_action( \'init\', \'taxonomia_provincia_retiro\', 0 );
因此,最终结果是:
另一个例子:
如果我这样做,效果很好:
$args = array(\'post_type\' => \'retiro\');
$query = new WP_Query($args);
但是,当我试图按照法典所说的那样做时,它不起作用:
$args = array(
\'post_type\' => \'retiro\',
\'tax_query\' => array(
array(
\'taxonomy\' => \'provincia\'
),
),);
$query = new WP_Query( $args );
我快疯了,这个代码怎么了??提前感谢您的帮助!祝你今天愉快!