web-dev-qa-db-fra.com

Comment définir un type d'article personnalisé pour qu'il n'apparaisse pas au début

J'utilise un type de message personnalisé dans l'un de mes sites pour les diaporamas. J'ai un objet de requête publique défini sur false/off, mais lorsque Google analyse mon site, des erreurs 404 se produisent pour les URL de mes diaporamas. Je pensais que le fait d'interroger publiquement Wordpress ne créerait pas ces URL frontales.

Comment puis-je désactiver complètement les URL et les pages frontales pour mon type d'article personnalisé?

MODIFIER

En ajoutant public => false, has_archive => false, publicaly_queryable => false et query_var => false, je suis parvenu à éliminer les erreurs 404 de Google. J'ai aussi ajouté la fonction fournie par @Norcross pour faire bonne mesure.

8
dkmojo

Une autre option serait de définir une redirection 301 pour que tous les CPT de diaporamas soient redirigés quelque part (comme la page d'accueil). Cela serait pris en charge par Google et éviterait que quelqu'un ne les frappe par inadvertance.

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);
5
Norcross

Apparemment, votre diaporama , pas WordPress, il révélera ces URL. Je suppose qu’il encapsule les images dans le diaporama avec des liens vers les messages personnalisés, ce que vous ne voulez pas. Vous devez éditer le diaporama pour qu'il ne le fasse pas.

1
s_ha_dum

Une modification à votre question initiale, vous devriez ajouter

'exclude_from_search' => true,

Si ce n'est pas ajouté, le CPT apparaîtra dans les résultats de la recherche.

0
JoseLazo