サポート » 使い方全般 » カスタム投稿の検索をしたい。すごく簡単な事ですが

  • みなさん、こんにちはebifurai55です。

    検索の機能をつけたいのですが、うまくいきません。
    普通の検索フォームに加え、ドロップダウンリスト、チェックボックスの3通りでやっているのですが、検索について、ホームページでも見たのですが、うまく機能してるとは思えません。コードはsearchform.phpだと、

    <form role=”search” method=”get” class=”form-group” action=”<?php echo home_url( ‘/’ ); ?>”>
    <div class=”blog-post”>
    <input type=”search” class=”form-control” placeholder=”<?php echo esc_attr_x( ‘Search …’, ‘placeholder’ ) ?>”
    value=”<?php echo get_search_query() ?>” name=”s” title=”<?php echo esc_attr_x( ‘Search for:’, ‘label’ ) ?>” />
    <input type=”submit” class=”btn btn-default” value=”<?php echo esc_attr_x( ‘Search’, ‘submit button’ ) ?>” />
    </div>

    <div class="blog-post">			
      <label for="input-id">種別</label>
      <input type="hidden" name="s">
      <select id="input-id" name="area(shinagawa)">
        <option value="" selected="true">指定なし</option>
        <?php
          $terms = get_terms('area' , 'get=all');
          foreach($terms as $term){
          echo '<option value="' . $term->slug . '">' .
          esc_html($term -> name) .
          '</option>';}
        ?>
      </select>
      </div>
      <br>
      <br>
      
      
      
      
      <div class="blog-post">
      <input type="hidden" name="s">
      <input type="checkbox" name="area[]" value="shinjuku" />新宿
      <input type="checkbox" name="area[]" value="shinagawa" />品川
      <input type="checkbox" name="area[]" value="shibuya" />渋谷
      </div>
    
    </form>

    で検索結果は

    <?php load_template(TEMPLATEPATH . '/header-3.php'); ?>
    <div class="blog-section">
    	<div class="container"> 
    		<h2 class="heading text-center">
    		        <?php
                            $taxonomy = $wp_query->get_queried_object(); 
                            echo esc_html($taxonomy->name);
                    ?>
    		</h2>
    		<?php
    if( $total_results >0 ):
    if(have_posts()):
    while(have_posts()): the_post();
    ?>
     		<div class="col-md-8">
    		 		  
    		     
         <ul>
           
         
        
         <!--<div class="listnone">-->
         <li>
    		   <div class="blog-post">
        
         <h3><a href="<?php the_permalink(); ?>" title="<?php the_title_attribute(); ?>"><?php the_title(); ?></a></h3>
         
         <div class="gazou">
                 <a href="<?php the_permalink(); ?>">
                   <?php if ( has_post_thumbnail() ) :
                   the_post_thumbnail('post-thumbnails');
                            else :
                            echo '<img src="';
                            bloginfo( 'template_url' );
                            echo '/images/the_post_thumbnail_default.png" alt="デフォルト画像" style="vertical-align: middle;" />';
                            endif; ?>
                 </a>
         </div>
         
         
                 <div class="justice">
     	         <!--<div class="blog-post-grids">-->
                 <!-- カスタム住所 -->
                 住所  <?php the_field('address',$post -> ID); ?></BR>
                 <!-- カスタムアクセス -->
                 アクセス <?php the_field('access' ,$post -> ID); ?></BR>
                 <!-- カスタム電話番号 -->
                 電話番号 <?php the_field('tel' ,$post -> ID); ?></BR>
                 <!-- カスタムサービス -->
                 サービス <?php echo get_the_term_list( $post->taiken, 'service', '', ', ', '' ); ?><BR>
                  
                 地区 <?php echo get_the_term_list( $post->taiken, 'area', '', ', ', '' ); ?><BR>
                 
                 <!--店舗 <?php echo get_the_term_list( $post->taiken, 'watch', '', ', ', '' ); ?><BR>-->
         <!--</div>-->
         
                </div>
     		  </div>
     		  </li>
     		  <div class="sen"></div>
         
    <?php endwhile; endif; else: ?>
     
    <?php echo $search_query; ?> に一致する情報は見つかりませんでした。
     
    <?php endif; ?>              
         </ul>
      </div>
    		  <?php get_sidebar(); ?>
    		  </div>
    
              <?php if(function_exists('wp_pagenavi')) { wp_pagenavi(); } ?>
              <?php endif; ?>
         
    		  <!--</div>-->
    		  			
    
    	</div>	

    です。検索結果の方はsyntax errorが出て、endifをポチポチと消したり増やしたりしているのですが、良く

    わかりません。このエラーが消えたら正しく検索できるでしょうか?当方、Wordpress初心者です。いくつもホームページをみてるのですが、読解力が無く、単にコピー&ペーストしてるだけで理解をしていません。

    私の錯乱した構文を見せたら見せますが、どなたかお付き合い願えないでしょうか?もし追加情報が必要なら書きます。

    よろしくお願いします。

5件の返信を表示中 - 1 - 5件目 (全5件中)
  • トピック投稿者 ebifurai55

    (@ebifurai55)

    すいません、ちょっとコードがはみ出してしまいました。読みにくいと思うので、再度投稿します。

    <form role=”search” method=”get” class=”form-group” action=”<?php echo home_url( ‘/’ ); ?>”>
    <div class=”blog-post”>
    <input type=”search” class=”form-control” placeholder=”<?php echo esc_attr_x( ‘Search …’, ‘placeholder’ ) ?>”
    value=”<?php echo get_search_query() ?>” name=”s” title=”<?php echo esc_attr_x( ‘Search for:’, ‘label’ ) ?>” />
    <input type=”submit” class=”btn btn-default” value=”<?php echo esc_attr_x( ‘Search’, ‘submit button’ ) ?>” />
    </div>

    ログをみると何行目にエラーが出たか記述はありませんか。

    怪しげな所は、
    1. else :
    else: に訂正

    2. $post -> ID
    $post->ID に訂正

    が文法上で間違っているかなと思います。
    ※ただそれで意図した動作をするかは分かりませんが。

    トピック投稿者 ebifurai55

    (@ebifurai55)

    Parse error: syntax error, unexpected ‘endif’ (T_ENDIF) in /home/ubuntu/workspace/wp-content/themes/wp-5/search.php on line 75

    と出ます。syntaxエラーなので単純なミスだと思うのですが、どこが悪いか分かりません。ちなみにsearch.phpでエラーが出てます。if文の<?php endif; ?>の所でミスが出ます。

    モデレーター Okamoto Hidetaka

    (@hideokamoto)

    ifやwhileがネストしてるので、どこかで閉じ忘れが出てるのかもですね。
    ファイルのバックアップをとって、トラブルに関係のなさそうなコードを一旦削除するなどしてデバッグしてみてください。

    あと関数の末尾には、セミコロンが必要ですよ。

    間違い
    esc_attr_x( ‘Search …’, ‘placeholder’ )

    正しい
    esc_attr_x( ‘Search …’, ‘placeholder’ );

    さらに

    間違い
    if ( has_post_thumbnail() ) :

    正しい
    if ( has_post_thumbnail() ):

    間違い
    <?php if(function_exists(‘wp_pagenavi’)) { wp_pagenavi(); } ?>
    <?php endif; ?>

    正しい
    <?php if(function_exists(‘wp_pagenavi’)) { wp_pagenavi(); } ?>

    if文については、コロンか{}かどちらか一方だけ使うほうが混乱しなくて良いと思いますよ。

5件の返信を表示中 - 1 - 5件目 (全5件中)
  • トピック「カスタム投稿の検索をしたい。すごく簡単な事ですが」には新たに返信することはできません。