Come impostare un tipo di post personalizzato in modo che non venga visualizzato nel front-end


9

Uso un tipo di post personalizzato in uno dei miei siti per le presentazioni di immagini. Ho impostato le query pubblicamente su false / off, ma quando Google esegue la scansione del mio sito visualizzo 404 errori per gli URL delle mie presentazioni. Ho pensato che non sarebbe stato possibile creare quegli URL front-end con query pubblicamente disattivabili da Wordpress.

Come posso disattivare completamente gli URL e le pagine del front-end per il mio tipo di post personalizzato?

MODIFICARE

Aggiungendo public => false, has_archive => false, publicaly_queryable => false, e query_var => falseho ottenuto con successo eliminare i 404 errori di Google. Ho anche aggiunto la funzione fornita da @Norcross solo per una buona misura.


Qual è il tuo URL?
s_ha_dum,

come si modificano i tipi di post personalizzati con tali impostazioni? Falso pubblico significa che non posso modificarlo in admin
Laurence Cope

1
Per modificare in admin sembra che tu abbia bisogno di public => true, quindi hai un refuso per renderlo non visibile sul front-end, dovrebbe essere public_queryable
Laurence Cope

!!!! Attenzione !!! C'è un refuso che dovrebbe essere '
public_queryable

Risposte:


6

Un'altra opzione sarebbe quella di impostare un reindirizzamento 301 per tutti i CPT della presentazione da reindirizzare da qualche parte (come la home page). Questo verrebbe rilevato da Google e assicurerà anche che nessuno li salti accidentalmente

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

Grazie! Tutti i miei errori 404 della presentazione in Google ora sono scomparsi. Ho aggiunto public => false, has_archive => false e public_queryable => false e non vengono più visualizzati come errori 404. Ho aggiunto il codice fornito al mio file Functions.php "per ogni evenienza". Grazie ancora!
dkmojo,

2

Apparentemente la tua presentazione , non WordPress, rivela quegli URL. Presumo che stia avvolgendo le immagini nella presentazione con collegamenti ai post personalizzati, che non si desidera. Devi modificare la presentazione in modo che non lo faccia.


La presentazione utilizza wp_get_attachment_image_src per inserire le immagini all'interno di un loop, in modo che non vi siano collegamenti al tipo di post personalizzato della presentazione. Ho appena impostato il parametro "pubblico" nel mio metodo di registro personalizzato post tipo su false. Vedrò se questo aiuta. Grazie per il tuo contributo!
dkmojo,

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.