-
投稿者投稿
-
2025年1月19日 5:38 PM #143586
【お使いの Snow Monkey のバージョン】27.5.1
【お使いの Snow Monkey Blocks のバージョン】22.3.2
【お使いの Snow Monkey Editor のバージョン】 10.1.1
【お使いのブラウザ】safari17.6### 実現したいこと
snow monkey search、簡単に設置できて、大変便利だなと思いました!
タクソノミーをカテゴリにした時、特定のカテゴリだけ表示させたいのですが、可能でしょうか?### 発生している問題
現在は全てのカテゴリが表示されます。
### 試したこと
過去の投稿を探しましたが、これといったものが見つからず質問しました。
PHPのカスタムなんじゃないかとボンヤリ思ってお手上げです…
♥ 0いいねをした人: 居ません2025年1月20日 10:21 AM #1435892025年1月20日 11:49 AM #143593Snow Monkey Search v0.4.0 でフックを追加しました!
My Snow Monkey プラグインか子テーマの
functions.php
にコードを追加してみてください。以下サンプルコードです。/** * タクソノミー検索で表示されるタームをフィルタリングする。 * * @param array $terms Terms. * @param array $args Args. * @var string $taxonomy Taxonomy name. * @var string $post_id Search form ID. * @var string $post_type Related post type. * @return array */ add_filter( 'sms_taxonomy_search_terms', function( $terms, $args ) { // 検索フォームが複数ある場合、タクソノミー検索が複数ある場合は // 必要に応じて $args の情報を使い条件分岐してください。 $new_terms = array(); foreach ( $terms as $term ) { // タームのスラッグが pickup の場合は表示しない if ( 'pickup' !== $term->name ) { $new_terms[] = $term; } } return $new_terms; }, 10, 2 );
2025年1月20日 3:39 PM #143613キタジマ様
ありがとうございます!
プラグインをアップデートして、送っていただいたコードをmy snow monkeyに追加したのですが、あとはどこをどう操作したらいいでしょうか?すみません、何もわかってなくて…
【word press】6.7.1
【PHP】 7.4♥ 0いいねをした人: 居ません2025年1月20日 3:46 PM #143614僕が書いたサンプルコードでは、ターム(要は「お知らせ」「ニュース」とかの各カテゴリー情報のこと)が
pickup
のものを除外して表示するものになっているので、if ( 'pickup' !== $term->name ) {
という形で条件分岐させています。まずはここを sakura さんが除外したいタームにあわせて変更する必要があります。よくわからない場合は書いてみますので除外したいタームのスラッグ(ラベルではなくて実際に URL に表示される部分)を教えてください。書き換えができたら My Snow Monkey プラグインを FTP ツールでサーバーにアップロードしてください。
※FTP ツールは色々なものがあるのでお好きなものを使うのが良いかと思いますが、とりあえずググってでてきた記事を共有しておきます。FTP でアップロードできたら、管理画面から My Snow Monkey プラグインが有効化できるので、ダッシュボード→プラグインと進み、My Snow Monkey プラグインを有効化してください。どこか間違っていなければこれで反映されます。
2025年1月20日 4:19 PM #143615キタジマ様
ありがとうございます。
よくわかっていなくて申し訳ありません。勉強したいのでもう少しだけ教えてください。
snow monkey sarch 0.4.0のアプデをして、 My snow monkeyのプラグインエディタに送っていただいたコードを追加しただけだったのですが、これではダメということなのですよね。
if ( ‘pickup’ !== $term->name ) { のpick upの部分を、除外したいスラッグに変更すれば、表示から消えるという認識でいいのでしょうか…?
my snow monkeyのプラグインエディタに上書きでは反映されないでしょうか…?
♥ 0いいねをした人: 居ません2025年1月20日 4:32 PM #143617キタジマ様
わわ!!
pick upの部分を除外したいスラッグに変更したところ、消えました!!消えた!!除外したいものが二つあるのですが、どうしたらいいでしょうか?
♥ 0いいねをした人: 居ません2025年1月20日 8:32 PM #143623snow monkey sarch 0.4.0のアプデをして、 My snow monkeyのプラグインエディタに送っていただいたコードを追加しただけだったのですが、これではダメということなのですよね。
あ、プラグインエディターで変更する = サーバー上のファイルを直接書き換える、ということになるので、それならそれで大丈夫です。
注意点として、プラグインエディターで変更すると直接サーバー上のファイルを書き換えることになるので、構文エラーがあったときにそのままサイトがクラッシュしてどうにもならなくなってしまうことがあるんですよね。手元で変更して FTP でアップするフローであれば、もしクラッシュしてしまっても手元のファイルを元に戻してサイトアップロードすれば元通りになるので安全度が高いです。
除外したいものが二つあるのですが、どうしたらいいでしょうか?
条件を
&&
で繋いでみてください!// pickup と info の「どちらでも」ないものを表示 // つまり、pickup と info は除外する if ( 'pickup' !== $term->name && 'info' !== $term->name ) { $new_terms[] = $term; }
2025年1月20日 11:40 PM #143629 -
投稿者投稿
- トピック「snow monkey searchで、特定のカテゴリーだけ表示させたい」には新しい返信をつけることはできません。