web-dev-qa-db-ja.com

カスタム投稿タイプでの下書きのカスタム検索

ステータスが "ドラフト"のカスタム投稿タイプでのみキーワードを検索する検索ページを作成することは可能ですか。

基本的に、カスタム投稿タイプとしてインポートすることを計画していた多くのデータがあります。データは単純で、「名前」、「答え」、「メモ」です。ただし、各カスタム投稿にデータがほとんどなく、サイトに5,000のスパムページが含まれるため、このデータを公開したくありません。

しかし、ユーザーは頻繁に特定の「名前」の「答え」を知りたいと思い、私は彼らに検索と検索の能力を与える必要があります。

1
jonbon

検索クエリでpost_status引数をdraftに設定することでドラフト内を検索することは可能ですが、より良い方法はregister_post_typeに渡される引数でものを制御することです。

最初にpublicをfalseに設定します。これはフロントとバックエンドのあらゆる場所で投稿タイプを隠します。次に、show_uiを選択的に有効にして管理UIを取得し、exclude_from_searchfalseに設定して、それらがフロントエンド検索に表示されるようにします。また、rewritefalseに設定しているので、WordPressはこの投稿タイプの書き換えルールを生成しません。

その後、検索可能な投稿を公開しますが、フロントエンドに個々のページはありません。

$args = array(
    'public' => false,
    'show_ui' => true,
    'exclude_from_search' => false,
    'rewrite' => false,
    'label' => 'Name',
    // your other arguments...
);
register_post_type( 'name', $args );
2
Milo