サポート » プラグイン » Search Everything で保護中のページにあるアップロードファイルを除外する

  • お世話になります。

    Search Everything で、アップロードファイルもサイト内検索の対象に入れています。
    保護中の投稿ページがいくつかあり、その中でアップロードしたPDFへのリンクを掲載しています。
    保護中の投稿ページは検索結果に表示されないのですが、アップロードしたPDFは単独で検索結果に表示されてしまいます。
    保護中の投稿にアップロードされたファイルを判別し、表示させない方法があれば教えていただきたいです。
    PDF自体にパスワード保護をかけてしまえばいいのかとも考えましたが、PDFもいくつかあるので、WordPress側でできる対策があれば助かります。

    アドバイスいただければと思います。
    よろしくお願いします。

3件の返信を表示中 - 1 - 3件目 (全3件中)
  • 検証していませんがプラグインのコードを修正する必要があると思われます。
    search-everything.php の行440〜456に関数 se_search_attachments() が定義されており、その中で投稿タイプ attachment の投稿を検索対象にしています。そのとき「親投稿が保護中でない」という条件を加えればご希望の動作になりそうです。具体的にどのように修正すればよいかわかりませんがご参考まで。

    トピック投稿者 fri 231

    (@3rdl81)

    gblsm 様

    回答いただき、ありがとうございます。

    教えていただいた箇所に、
    " HAVING (parent_status = 'publish'",
    などを書いてみたのですが、どうもうまくいかず、断念しました。

    functions.phpに以下のような記述をしたところ、とりあえず希望の動作をしました。

    function custom_search ($where) {
    	global $wpdb;
    	$where .= " AND $wpdb->posts.post_parent NOT IN (SELECT wp_posts.ID FROM wp_posts WHERE $wpdb->posts.post_status != 'private')";
    	return $where;
    }
    add_filter('posts_search','custom_search', 10, 2);

    ありがとうございました。

    トピック投稿者 fri 231

    (@3rdl81)

    大変失礼いたしました。
    今一度確認したところ、解決できていませんでした。
    先日の投稿通りの記述では、アップロードファイル全体が検索できていない状態でした。
    未解決に戻します。

3件の返信を表示中 - 1 - 3件目 (全3件中)
  • トピック「Search Everything で保護中のページにあるアップロードファイルを除外する」には新たに返信することはできません。