-
投稿者投稿
-
2019年10月26日 1:08 PM #32082
【お使いの Snow Monkey のバージョン】v7.13.2
いつもお世話になっております。
たびたびの質問で恐縮です。
(※コードを貼って送信するとどうしてもエラーになるのでcodepadで貼りました)
絞り込み検索プラグインを使っ場合に、別のテンプレート(search-form0.php)を返す場合についてです。以前、古いバージョンの時にご教示いただき、下記のようなコードをsearch.phpに記載し、子テーマに置いています。
(search-form0.phpは、マニュアルに従って、my-snowmonkeyプラグインフォルダに置いています。my-snow-monkey/view/templates/view/search-form0.php)検索結果を別のテンプレートファイルに返したいこのトピックには10件の返信、2人の参加者があり、最後にキタジマ タカシにより2年前に更新されました。 11件…snow-monkey.2inc.org▼search.php記載(動作する)
今のバージョンと記載内容が違っていて、そのまま使うのが気持ち悪いので、下記のように該当部分だけを差し替えましたが、絞り込み検索プラグインが動作しません。
前半の部分が影響していると思いますが、どこを修正したらよいかご教示いただけませんでしょうか。前述の古いコードでは動作しています。▼search.php記載(現バージョン・動作しない)
♥ 0いいねをした人: 居ません2019年10月26日 1:57 PM #32085▼search.php記載(動作する)
については
<?php
ではじまっていますが、▼search.php記載(現バージョン・動作しない)
のほうは
<?php
がありません。コピペミスかもしれませんが、その点はどうでしょうか?また、「動作しない」とは具体的にどういうことでしょうか?
個人的には、動作するほうのコードを使って別に大丈夫じゃないかなぁと思います。
♥ 0いいねをした人: 居ません2019年10月26日 4:38 PM #32119すみません、▼search.php記載(現バージョン・動作しない)
は実際には、先頭に <?php が入っています。「動作しない」というのは、絞り込み検索(プラグインによる)を使った際に、カスタム投稿のみが対象なのに、カスタム投稿だけではなく、投稿ページ、固定ページの一覧(全ての記事)が「リッチメディア」形式で表示されます。タイトルはなぜけフロントページです。
古いコードでも問題なければ、それでいきたいと思いますが、
use Inc2734\Mimizuku_Core\App\Controller\Controller;
などは使われていないようですが大丈夫なのでしょうか。それと、新バージョンの以下の記載はなくてもよいのでしょうか。(なぜかコードを送信するとエラーになります)コードの知識がなくて恐縮ですが、よろしくお願いいたします。
♥ 0いいねをした人: 居ません2019年10月28日 9:21 AM #32268新バージョンの以下の記載はなくてもよいのでしょうか。
WordPress デフォルトの検索結果を使う場合は必要なのですが、プラグインを使うことでデフォルトの検索結果が利用されなくなっているのならば不要だと思います。もし入れるとしたらこんな感じでしょうか。
<?php /** * @package snow-monkey * @author inc2734 * @license GPL-2.0+ * @version 5.4.6 */ use Framework\Controller\Controller; Controller::layout( get_theme_mod( 'archive-page-layout' ) ); if ( have_posts() ) { if ( $_GET['fe_form_no'] == '0' ) { //search-form0.php をビューファイルとして読み込み Controller::render( 'search-form0' ); } else { global $wp_query; $_post_type = filter_input( INPUT_GET, 'post_type' ); $_post_type = $_post_type ? $_post_type : 'any'; query_posts( array_merge( $wp_query--->query, [ 'post_type' => $_post_type, ] ) ); // デフォルトのビューファイルを読み込み Controller::render( 'archive', 'search' ); } } else { Controller::render( 'no-match' ); }
(なぜかコードを送信するとエラーになります)
レンタルサーバーのセキュリティの設定で、なんらかの条件のときに弾かれちゃうみたいです…。ぼくも条件はよくわかっていません。
♥ 0いいねをした人: 居ません2019年10月28日 10:14 PM #32418ありがとうございます。
デフォルトの検索結果が利用されなくなっているのならば不要だと思います。
すみません、通常の検索も使っています。「絞り込み検索」は特定のカスタム投稿タイプを対象に使っています。
ご教示いただいたコードを使ってみると、以下のコードが出て、画面が白くなります。
Parse error: syntax error, unexpected '->' (T_OBJECT_OPERATOR), expecting ',' or ')' in /home/volunavi/matchingenglish.com/public_html/wp-content/themes/snow-monkey-child-master/search.php on line 24 サイトに技術的な問題が発生しています。
どこか修正が必要でしょうか。
♥ 0いいねをした人: 居ません2019年10月30日 3:33 PM #32702ありゃすみません、なんか変になってますね。下記でどうでしょう。
<?php /** * @package snow-monkey * @author inc2734 * @license GPL-2.0+ * @version 5.4.6 */ use Framework\Controller\Controller; Controller::layout( get_theme_mod( 'archive-page-layout' ) ); if ( have_posts() ) { if ( isset( $_GET['fe_form_no'] ) && $_GET['fe_form_no'] == '0' ) { //search-form0.php をビューファイルとして読み込み Controller::render( 'search-form0' ); } else { global $wp_query; $_post_type = filter_input( INPUT_GET, 'post_type' ); $_post_type = $_post_type ? $_post_type : 'any'; query_posts( array_merge( $wp_query->query, [ 'post_type' => $_post_type, ] ) ); // デフォルトのビューファイルを読み込み Controller::render( 'archive', 'search' ); } } else { Controller::render( 'no-match' ); }
2019年10月30日 8:59 PM #32739今回のコードで正常に動作しました。
ご丁寧に教えていただきありがとうございました。♥ 0いいねをした人: 居ません -
投稿者投稿
- トピック「search.phpの記載について(別のテンプレートに返す場合)」には新しい返信をつけることはできません。