Cocoonフォーラム

サイト内検索
書き込みの前に以下の3点をご確認ください。
  1. 1つのトピックにつき1つの質問を書き込んでください
  2. 不具合・カスタマイズ対象ページのURLを提示高速化を無効にしてください
  3. 該当部分のキャプチャ・環境情報とともに書き込んでいただけると助かります

何を書き込んだら良いか分からない場合は、以下のテンプレートをコピペしてご利用ください。

不具合・カスタマイズ対象ページのURL:

相談内容:

不具合の発生手順:

解決のために試したこと:

※文字だけでは正しく伝わらない可能性があるため、スクショ画像の添付もお願いします。
※高速化設定をしている場合は無効にしてください。
環境情報:

※↑こちらに「Cocoon設定 → テーマ情報」にある「環境情報」を貼り付けてください。

環境情報の取得方法はこちら。
https://wp-cocoon.com/theme-report/
高速化設定を無効にするにはこちら。
https://wp-cocoon.com/theme-trouble/

フォーラム利用ガイドリンク

  1. フォーラムガイドライン
  2. よくある質問と答え(FAQ)
  3. サポート対象外のケース
  4. 原因不明の不具合用トラブルシューティング
  5. トピックにHTMLを貼り付ける方法(推奨ツール:notepad.pw
  6. 真っ白画面でのエラーメッセージの確認方法
  7. ブラウザ環境チェックツール
  8. Cocoonカスタマイズ依頼

フォーラム質問後、問題等が解決した場合は結果を書き込んでいただけると幸いです。同様の問題で調べている方には、結果が一番気になる部分となります。

サイト内検索ページにて広告が表示されな...
 
共有:
通知
すべてクリア

[解決済] サイト内検索ページにて広告が表示されない問題

15 投稿
3 ユーザー
5 Reactions
1,338 表示
(@zunda)
Eminent Member
結合: 5年前
投稿: 30
Topic starter  

サイト内検索した際に表示されるページに広告が表示されないのは、仕様ですか?

もし可能であれば表示させたいです。

https://zunda-hack.com

https://zunda-hack.com/?s=24


   
(@zunda)
Eminent Member
結合: 5年前
投稿: 30
Topic starter  

スクリーンショット1

 

   
(@zunda)
Eminent Member
結合: 5年前
投稿: 30
Topic starter  

スクリーンショット2

広告が表示されない方


   
(@akira)
Famed Member Registered
結合: 7年前
投稿: 1657
 

広告とは、アドセンスのことでしょうか?であれば、仕様です。

というのも、↓ のように 1 件もヒットしない場合があるためです。

https://zunda-hack.com/?s=aaaaaaaaaa

このようなコンテンツのないページにアドセンスを表示するのは、アドセンスのポリシー違反です。

もし、どうしても表示されたい場合は、is_ads_visible() 関数などをカスタマイズします。


   
わいひら reacted
(@zunda)
Eminent Member
結合: 5年前
投稿: 30
Topic starter  

回答ありがとうございます。

そんな規約があるんですね。知りませんでした。ありがとうございます。

それでは検索結果がある場合には、広告を表示する。ない場合には広告は表示しないという形にしたいのですが、検索結果があるか無いかの関数って知ってたりしますかね?


   
(@zunda)
Eminent Member
結合: 5年前
投稿: 30
Topic starter  

調べてやってみたんですが、以下のコードでやっても検索結果があってもなくても広告が表示されてしまいます。

どうすればいいでしょうか?1つコメントアウトして、1行追加しました。

/Cocoon/lib/ad.php

return is_all_ads_visible() &&
//get_ad_code() && //広告コードが挿入されている
!$is_exclude_ids && //除外ページでない場合広告を表示
is_the_page_ads_visible() && //ページで除外していない場合
!is_attachment() && //添付ページではない場合
!is_404() && //404ページではない場合
//!is_search(); //検索結果ページで無い場合
!$wp_query->found_posts; //検索結果が0で無い場合(追加部分です。)

 


   
わいひら
(@yhira)
Illustrious Memberサイト Admin
結合: 7年前
投稿: 17179
 

「WordPress 検索にヒットした数」で検索する方法とかで取得できるかと思います。


   
(@zunda)
Eminent Member
結合: 5年前
投稿: 30
Topic starter  

検索した結果「$wp_query->found_posts」で取得できるようなんですが、うまくいかないんですよねぇ

実装してみたコードは1つ上のに載せました。

 


   
(@akira)
Famed Member Registered
結合: 7年前
投稿: 1657
 

それでは無理です。

$wp_query->found_posts は、「現在のクエリ変数に一致する投稿の合計数」を返します。

関数リファレンス/WP Query

10 件あれば 10 を返しますし、0 件であれば 0 を返します。

!$wp_query->found_posts は、「何も返してこない場合」という意味です。0 件ではない場合との意味ではありません。

This post was modified 4年前 2回 by Akira

   
わいひら reacted
(@akira)
Famed Member Registered
結合: 7年前
投稿: 1657
 

$wp_query をお使いになるのなら、found_posts ではなく post_count がいいように思えます。

実際に試していないため上手くいくかは分かりませんが、このようなものをお試しになるとどうでしょうか。

まず、is_ads_visible() 関数の先頭で、$wp_query を呼び出します。

global $wp_query;

そして、検索結果の条件分岐を変更します。

//!is_search(); //検索結果ページで無い場合

// 検索結果ページで表示投稿数が10件より多い場合
(is_search() && 10 < $wp_query->post_count);

ちなみに、PHP のカスタマイズは、基本的にサポート外です。


   
わいひら reacted
(@zunda)
New Member
結合: 4年前
投稿: 4
 

回答ありがとうございます。

global $wp_query;を追加したところうまく動作するようになりました。

 

関数内で行なっているということで、globalが必要なんですかね?

 

$wp_query->post_countを知らなかったのですが、こちらが正しいですね。ありがとうございます。

!$wp_query->found_postsで実装しようとしたのは、検索結果が0の時にintegerの0で返してきていたので、そのままboolの0(false)として使えるかと思い実装しました。

 

 

 


   
(@zunda)
New Member
結合: 4年前
投稿: 4
 

コピペしたらソースコードとして載ってしまいました。すいません。


   
(@akira)
Famed Member Registered
結合: 7年前
投稿: 1657
 

!$wp_query->found_postsで実装しようとしたのは、検索結果が0の時にintegerの0で返してきていたので、そのままboolの0(false)として使えるかと思い実装しました。

申し訳ありません。「!$wp_query->found_posts は、「何も返してこない場合」という意味です。0 件ではない場合との意味ではありません。」と書きましたが、間違っています。!$wp_query->found_posts でもいけます。

ただ、ページにある程度のコンテンツがない場合は、アドセンスから警告が来るかもしれません。2 ページ目以降を考えると found_posts より post_count が使いやすいように思いました。

関数内で行なっているということで、globalが必要なんですかね?

$wp_query の未定義が理由の Notice が出ると思います。


   
わいひら reacted
わいひら
(@yhira)
Illustrious Memberサイト Admin
結合: 7年前
投稿: 17179
 
投稿者:: @zunda

コピペしたらソースコードとして載ってしまいました。すいません。

これについては修正しておきました。


   
(@zunda)
Eminent Member
結合: 5年前
投稿: 30
Topic starter  

わいひらさん修正ありがとうございます。

found_posts より post_count が使いやすいかつ最適であるという事がわかりました。

Akiraさん回答ありがとうございました!


   
わいひら reacted
共有:

問題の解決に至った場合には、トピック冒頭の「解決済み」をクリックしていただけますと幸いです。

また、有用な回答があった場合は返信右下にある「いいね!」もご活用ください。回答者の励みになります。

「いいね!」機能はフォーラム登録者のみが利用できる機能です。

CC BY-ND 2.1)準じていれば(リンクを貼っていただければ)転載も自由です。カスタマイズ記事を書く際にコード等をコピペ利用していただいて構いません。

フォーラムの使い方がよくわからない場合は、テストトピックで自由にテストしていただいて構いません。

最近の書き込みはこちら。

詳細なカスタマイズ依頼をするならこちら。

タイトルとURLをコピーしました