머릿단은 포레스트를 볼 수 없지만 도움이 필요합니다. 두 가지 관련 사용자 정의 분류, business_category 및 business_tags가있는 사용자 정의 게시 유형 "비즈니스"를 보유하고 있습니다. 맞춤 보관 템플릿에 맞춤 검색 양식이 있습니다.wp_query 사용자 정의 게시 유형
<form class="search-form" role="search" method="get" action="<?php echo home_url('/'); ?>">
<div class="form-group">
<label for="search-input"><i class="fa fa-search" aria-hidden="true"></i><span class="screen-reader-text">Search icons</span></label>
<input type="hidden" name="post_type" value="wego_business" />
<input type="search" class="form-control search-field" placeholder="Search the Directory" value="" name="s" id="s">
</div>
</form>
그러면 맞춤 검색 템플릿에 표시됩니다. business_tags에 대한 결과를 얻을 수 없습니다.
global $wp_query;
$paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
$tag = get_search_query();
$args = array (
's' => $s,
'order' => 'ASC',
'orderby' => 'name',
'tax_query' => array(
array(
'taxonomy' => 'business_tags',
'field' => 'slug',
'terms' => $tag,
),
),
'paged' => $paged
);
오전 나는 뭔가 명백한 것이 누락 되었습니까? 여기
는 CPT의 창조 :$labels = array(
'name' => _x('Business', 'Post Type General Name', 'wego_fran'),
'singular_name' => _x('Business', 'Post Type Singular Name', 'wego_fran'),
'menu_name' => __('Business', 'wego_fran'),
'parent_item_colon' => __('Parent Business:', 'wego_fran'),
'all_items' => __('All Business', 'wego_fran'),
'view_item' => __('View Business', 'wego_fran'),
'add_new_item' => __('Add New Business', 'wego_fran'),
'add_new' => __('Add New', 'wego_fran'),
'edit_item' => __('Edit Business', 'wego_fran'),
'update_item' => __('Update Business', 'wego_fran'),
'search_items' => __('Search Business', 'wego_fran'),
'not_found' => __('Not found', 'wego_fran'),
'not_found_in_trash' => __('Not found in Trash', 'wego_fran'),
);
$args = array(
'label' => __('Business', 'wego_fran'),
'description' => __('Business', 'wego_fran'),
'labels' => $labels,
'supports' => array('title', 'editor', 'thumbnail', 'page-attributes'),
'taxonomies' => array('business_category', 'business_tags'),
'hierarchical' => true,
'public' => true,
'show_ui' => true,
'show_in_menu' => true,
'show_in_nav_menus' => true,
'show_in_admin_bar' => true,
'menu_position' => 20,
'menu_icon' => 'dashicons-admin-home',
'can_export' => true,
'has_archive' => true,
'exclude_from_search' => false,
'publicly_queryable' => true,
'capability_type' => 'post',
'rewrite' => array('slug' => 'business'),
);
register_post_type('wego_business', $args);
<?php
global $wp_query;
$paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
$tag = get_search_query();
$args = array (
'post_type' => 'wego_business',
's' => $s,
'order' => 'ASC',
'orderby' => 'name',
'tax_query' => array(
array(
'taxonomy' => 'business_tags',
'field' => 'slug',
'terms' => $tag,
),
),
'paged' => $paged
);
// The Query
$wp_query = new WP_Query($args);
$count = $wp_query->found_posts;
>
맞춤 검색 템플릿을 사용하면 post_type
필드를 놓치고 아마도 위의 질의
첫 번째 : 맞춤 검색 템플릿의 이름은 무엇입니까? 해당 템플릿을로드하고 있습니까? (귀하의 양식은 내장/기본 "WordPress 검색"을 트리거 할 것입니다). 둘째, 귀하의 세금 조회가 "슬러그"를 찾고있는 것 같습니다 - 검색 입력에 "슬러그"를 입력하고 있습니까? 셋째 - 아래의 대답과 같이'post_type' 매개 변수가 없으므로 args는 기본적으로'posts' 만 쿼리합니다. 마지막으로, 쿼리를 실행하는 코드를 포함하지 않았거나 결과를 출력하므로 쿼리가 제대로 실행되고 있다고 확신 할 수 있습니다. –