Cum să dezactivez URL-urile front-end pentru un custom post type

30 nov. 2012, 16:27:47
Vizualizări: 13.8K
Voturi: 11

Folosesc un custom post type pe unul dintre site-urile mele pentru slideshow-uri de imagini. Am setat publicly_queryable pe false/dezactivat, dar când Google indexează site-ul meu observ erori 404 pentru URL-urile slideshow-urilor. Am crezut că prin dezactivarea publicly_queryable, WordPress nu va genera acele URL-uri front-end.

Cum pot dezactiva complet URL-urile și paginile front-end pentru custom post type-ul meu?

EDIT

Prin adăugarea parametrilor 'public' => false, 'has_archive' => false, 'publicly_queryable' => false și 'query_var' => false am reușit să elimin erorile 404 din Google. De asemenea, am adăugat funcția sugerată de @Norcross ca măsură suplimentară.

4
Comentarii

Care este URL-ul tău?

s_ha_dum s_ha_dum
1 dec. 2012 17:41:41

cum editezi custom post types cu acele setări? Public false înseamnă că nu le pot edita în admin

Laurence Cope Laurence Cope
4 mar. 2016 16:46:46

Pentru a putea edita în admin, se pare că ai nevoie de public => true, apoi ai o greșeală de scriere pentru a-l face invizibil pe front end, ar trebui să fie publicly_queryable

Laurence Cope Laurence Cope
4 mar. 2016 16:50:57

!!!! Atenție !!! Există o greșeală de scriere, ar trebui să fie 'publicly_queryable' nu 'publicaly_queryable'

Tofandel Tofandel
6 aug. 2018 17:49:21
Toate răspunsurile la întrebare 4
1

O altă opțiune ar fi să setați o redirecționare 301 pentru toate postările personalizate (CPT) ale slideshow-ului către o altă destinație (cum ar fi pagina principală). Acest lucru ar fi detectat de către Google și ar asigura că nimeni nu ajunge accidental pe aceste pagini

function rkv_slideshow_redirect() {
    global $wp_query;

    // redirecționează de la postarea personalizată 'slideshow' către pagina principală
    if ( is_post_type_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);
2 dec. 2012 18:23:26
Comentarii

Mulțumesc! Toate erorile 404 din Google pentru slideshow-urile mele au dispărut. Am adăugat public => false, has_archive => false și publicly_queryable => false și ele nu mai apar ca erori 404. Am adăugat și codul pe care l-ai furnizat în fișierul meu functions.php "doar pentru orice eventualitate". Mulțumesc din nou!

dkmojo dkmojo
3 dec. 2012 19:36:55
1

O modificare la întrebarea ta originală, ar trebui să adaugi

'exclude_from_search' => true,

Dacă această opțiune nu este adăugată, tipul de postare personalizată (CPT) va apărea în rezultatele căutării.

8 sept. 2015 13:04:22
Comentarii

https://developer.wordpress.org/reference/functions/register_post_type/: exclude_from_search (bool) Determină dacă postările cu acest tip de post să fie excluse din rezultatele căutărilor pe front-end. Valoarea implicită este opusul lui $public.

Erenor Paz Erenor Paz
5 apr. 2017 13:14:36
1

Se pare că slideshow-ul tău, nu WordPress, dezvăluie acele URL-uri. Presupun că înfășoară imaginile din slideshow cu linkuri către postările personalizate, ceea ce nu dorești. Trebuie să editezi slideshow-ul astfel încât să nu mai facă acest lucru.

30 nov. 2012 16:43:00
Comentarii

Prezentarea de diapozitive folosește wp_get_attachment_image_src pentru a încărca imaginile într-o buclă, deci nu există nicio legătură către tipul personalizat de postare pentru slideshow. Tocmai am setat parametrul "public" în metoda mea de înregistrare a tipului de postare personalizat la false. Voi verifica dacă asta ajută. Mulțumesc pentru sugestie!

dkmojo dkmojo
1 dec. 2012 17:39:40
1

Vă rugăm să faceți Flash sau să schimbați legătura permanentă și să salvați. Panou de control -> Setări -> legături permanente -> Schimbați sau faceți Flash apoi Salvați setările.

20 iun. 2021 17:43:23
Comentarii

Nu sunt sigur că asta ar ajuta aici? Cred că WordPress nu folosește cache-ul de permalink-uri pentru a crea efectiv URL-uri, ci doar pentru a le direcționa.

Rup Rup
24 iun. 2021 02:08:51