フロントエンドに表示されないようにカスタム投稿タイプを設定する方法


9

自分のサイトの1つで、画像のスライドショーにカスタム投稿タイプを使用しています。公開クエリ可能をfalse / offに設定していますが、Googleがサイトをクロールすると、スライドショーのURLに対して404エラーが表示されます。Wordpressから公開でクエリ可能にしても、これらのフロントエンドURLは作成されないと思いました。

カスタム投稿タイプのフロントエンドURLとページを完全にオフにするにはどうすればよいですか?

編集

追加することでpublic => falsehas_archive => falsepublicaly_queryable => false、とquery_var => false私は正常にグーグルで404エラーを取り除く得ています。また、@ Norcrossが提供する関数も追加しました。


あなたのURLは何ですか?
s_ha_dum

これらの設定でカスタム投稿タイプをどのように編集しますか?公開falseは、管理者が編集できないことを意味します
Laurence Cope

1
adminで編集するには、public => trueが必要なように見えます。次に、フロントエンドで表示されないようにするための入力ミスがあり、publicly_queryableである必要があります
Laurence Cope

!!!! 注意!!! 「publicaly_queryable」ではなく「publicly_queryable」であるはずのタイプミスがあります
Tofandel

回答:


6

別のオプションは、すべてのスライドショーCPTに301リダイレクトを設定して、どこか(ホームページなど)にリダイレクトすることです。これはGoogleに取り上げられ、誤って乗っ取られないようにします

function rkv_slideshow_redirect() {
    global $wp_query;

    // redirect from 'slideshow' CPT to home page
    if ( is_archive('CPT_NAME_HERE') || is_singular('CPT_NAME_HERE') ) :
        $url   = get_bloginfo('url');

        wp_redirect( esc_url_raw( $url ), 301 );
        exit();
    endif;
}

add_action ( 'template_redirect', 'rkv_slideshow_redirect', 1);

ありがとう!Googleのスライドショー404エラーはすべてなくなりました。public => false、has_archive => false、publicly_queryable => falseを追加しましたが、404エラーとして表示されなくなりました。「念のため」に提供したコードをfunctions.phpファイルに追加しました。再度、感謝します!
dkmojo

2

どうやらあなたのスライドショーはWordPressではなく、それらのURLを明らかにします。私はそれがあなたが望まないカスタム投稿へのリンクでスライドショーの画像を包んでいると思います。スライドショーが編集されないようにする必要があります。


スライドショーはwp_get_attachment_image_srcを使用してループ内の画像を取り込むため、スライドショーのカスタム投稿タイプへのリンクはありません。登録カスタム投稿タイプメソッドの "public"パラメータをfalseに設定しました。それが役立つかどうかを確認します。ご協力ありがとうございます。
dkmojo

1

元の質問に変更を加えます。追加する必要があります

'exclude_from_search' => true,

これが追加されていない場合、CPTは検索結果に表示されます。


developer.wordpress.org/reference/functions/register_post_typeexclude_from_search(ブール値)かどうかは、フロントエンドの検索結果から、このポストタイプの投稿を除外します。デフォルトは$ publicの反対の値です。
Erenor Paz 2017
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.