• Resolved mhayakawa

    (@mhayakawa)


    カスタム投稿のサイト内検索を作成しています。
    管理画面にログインをしているブラウザでは正常に動作しているのですが、管理画面にログインしていないブラウザで動作確認を行うと、意図していないURLへ移動してしまい検索結果が表示されません。
    どの部分を修正すればよろしいでしょうか。

    カスタム投稿のアーカイブページ

    <form method="get" id="storeSearch" action="<?php echo home_url('/'); ?>store/">
          <input type="text" name="s" id="storeSearchInput" value="<?php the_search_query(); ?>" placeholder="キーワードを入力" />
          <input type="hidden" name="post_type" value="store">
          <input type="submit" value="検索する" />
    </form>

    function.php

    add_filter('template_include','custom_search_template');
    function custom_search_template($template){
    if ( is_search() ){
    $post_types = get_query_var('post_type');
    foreach ( (array) $post_types as $post_type )
    $templates[] = "search-{$post_type}.php";
    $templates[] = 'search.php';
    $template = get_query_template('search',$templates);
    }
    return $template;
    }

    意図している検索結果→https://www.gohandoki.com/store/?s=a&post_type=store

    管理画面にログインしていない時の検索結果→https://www.gohandoki.com/?s=a

    The page I need help with: [log in to see the link]

Viewing 4 replies - 1 through 4 (of 4 total)
  • Moderator bcworkz

    (@bcworkz)

    There’s nothing in your code that would cause differing behavior whether or not one is logged in. The different behavior is likely due to one of your plugins or your theme. Identify which by deactivating all plugins and switching to one of the older default themes, 2021 or earlier, which all use PHP based templates.

    You’ll need to temporarily add your custom template and filter code to the chosen default theme. You’ll also need the registration code for the store post type added to functions.php as well. With only your code active in an otherwise default installation, your custom template should be used for store search, logged in or not.

    Restore your normal theme and plugins, one at a time, checking search behavior after each. Be sure the store post type registration code occurs once somewhere, whether temporarily in your theme or in its original plugin when active. When the undesired behavior returns, the last activated module is the cause.

    Thread Starter mhayakawa

    (@mhayakawa)

    回答ありがとうございます。
    すべてのプラグインを無効化し、確認をしてみたのですが意図しないURLへ移動してしまいます。
    また、テーマをデフォルトのものに変更しても同様でした。
    他に確認するべき項目はあるでしょうか?

    Thread Starter mhayakawa

    (@mhayakawa)

    すみません、アーカイブのページから以下の記述を削除したところ正常な動作になりました。

    <input type="hidden" name="post_type" value="store">
    Moderator bcworkz

    (@bcworkz)

    If there is something about post type “store” capabilities that require logged in users, it would explain the behavior you’re seeing. If so, the issue is in how the post type is registered, not in your form’s code.

Viewing 4 replies - 1 through 4 (of 4 total)
  • The topic ‘カスタム投稿のサイト内検索について’ is closed to new replies.