0

現在表示しているページにカスタム投稿検索の結果を表示しようとしています。同じページに投稿し直しています。フォームは次のとおりです。

<form role="search" method="get" id="searchform-conferences" action="<?php the_permalink();?>">
    <input type="text" name="search"  value="Enter keywords ..." onfocus="if(this.value==this.defaultValue)this.value='';" onblur="if(this.value=='')this.value=this.defaultValue;"/><br />
    <input type="hidden" name="post_type" value="posttypeconference" />
    <input type="submit" id="searchsubmit" value="Search" />
</form>

それでも、検索を送信すると、ページのURLが検索クエリを除いて同じものであっても、404が表示されます。mydomain.com/page_where_my_search_form_is.php?search=searchterm

4

1 に答える 1

0

あなたのHTMLはそのようでなければなりません

<form role="search" method="get" id="searchform-conferences" action="">
    <input type="text" name="search"  value="Enter keywords ..." onfocus="if(this.value==this.defaultValue)this.value='';" onblur="if(this.value=='')this.value=this.defaultValue;"/><br />
    <input type="hidden" name="post_type" value="posttypeconference" />
    <input type="submit" id="searchsubmit" value="Search" />
</form>

あなたのPHPはそのようなものかもしれません

<?php
$args = array( 'post_type' => $_POST['post_type'], 'posts_per_page' => 10, 'post_title' => 'LIKE %'.$_POST['search'].'%' );
$loop = new WP_Query( $args );
while ( $loop->have_posts() ) : $loop->the_post();
    the_title();
    echo '<div class="entry-content">';
    the_content();
    echo '</div>';
endwhile;
?>

カスタム投稿を登録する場所は、次のようになっていることを確認してください。

add_action('init', 'usb_init');
function usb_init()
{
    $labels = array(
    'name' => _x('USB', 'post type general name'),
    'singular_name' => _x('USB', 'post type singular name'),
    'add_new' => _x('Add New', 'usb'),
    'add_new_item' => __('Add New USB'),
    'edit_item' => __('Edit USB'),
    'new_item' => __('New USB'),
    'view_item' => __('View USB'),
    'search_items' => __('Search USBs'),
    'not_found' =>  __('No usb found'),
    'not_found_in_trash' => __('No usb found in Trash'),
    'parent_item_colon' => ''
);
  $args = array(
    'labels' => $labels,
    'public' => true,
    'publicly_queryable' => true,
    'show_ui' => true,
    'query_var' => true,
    'rewrite' => array( 'slug' => 'product','with_front' => FALSE),
    'capability_type' => 'post',
    'hierarchical' => false,
    'menu_position' => '5',
    'supports' => array('title','excerpt','editor','thumbnail','page-attributes'),
    'taxonomies' => false
);
register_post_type('usb',$args);
}

'public' => true, 'publicly_queryable' => true, 'query_var' => true,

それでもうまくいかない場合は、追加してみてください:flush_rewrite_rules();カスタム投稿を登録した後

于 2012-11-07T15:45:26.240 に答える