Pagina de Arhivă pentru Tipul de Postare Personalizat nu se afișează

4 mar. 2013, 12:41:06
Vizualizări: 23.4K
Voturi: 13

Am o categorie pe site-ul meu numită 'profiles' și sunt în proces de mutare a acestei categorii către un tip de postare personalizat (custom post type) numit 'profiles'.

Problema mea este că nu pot să afișez pagina de arhivă pentru acest tip de postare personalizat. Când accesez URL-ul mywebsite.com/profiles, acesta mă duce la o pagină individuală pentru o postare din categoria profiles.

Am inclus has_archive = true; în fișierul meu functions.php

Nu am avut probleme cu crearea unei pagini de arhivă pentru un alt tip de postare personalizat pe același site, așa că sunt complet pierdut de ce nu funcționează de data aceasta.

Orice sfat ar fi foarte apreciat?

add_action( 'init', 'profile_custom_init' );

/* Iată cum să creezi etichetele personalizate */
function profile_custom_init() {
$labels = array(
    'name' => _x( 'Profiluri', 'denumire generală tip postare' ), // Sfat: _x('') este folosit pentru localizare
    'singular_name' => _x( 'Profil', 'denumire singulară tip postare' ),
    'add_new' => _x( 'Adaugă Nou', 'Profil' ),
    'add_new_item' => __( 'Adaugă Profil' ),
    'edit_item' => __( 'Editează Profil' ),
    'new_item' => __( 'Profil Nou' ),
    'view_item' => __( 'Vezi Profil' ),
    'search_items' => __( 'Caută Profil' ),
    'not_found' =>  __( 'Nu s-a găsit niciun Profil' ),
    'not_found_in_trash' => __( 'Nu s-a găsit niciun Profil în Coș' ),
    'parent_item_colon' => ''
);

// Creează un array pentru $args
$args = array( 'labels' => $labels, /* NOTĂ: variabila $labels este folosită aici... */
    'public' => true,
    'publicly_queryable' => true,
    'has_archive' => true,
    'show_ui' => true,
    'query_var' => true,
    'rewrite' => true,
    'capability_type' => 'post',
    'hierarchical' => false,
    'menu_position' => 10,
    'supports' => array( 'title', 'editor','thumbnail', 'excerpt', 'custom-fields' ),
        'taxonomies' => array('category')
    ); 

    register_post_type( 'profile', $args ); /* Înregistrează-l și mergi mai departe */
}
4
Comentarii

Încearcă să schimbi slug-ul categoriei de profil în altceva, cum ar fi profiles-2.

Vinod Dalvi Vinod Dalvi
4 mar. 2013 12:45:04

Nu pare să funcționeze. De asemenea, dacă accesez URL-ul mywebsite.com/his de exemplu, în loc să mă ducă pe o pagină 404 (nu am nicio pagină sau post numit doar 'His'), mă duce la un post care începe cu cuvântul 'his'. Pare foarte ciudat?

stemie stemie
4 mar. 2013 12:55:29

Ai încercat să salvezi din nou structura ta de permalinkuri? Acest lucru determină regenerarea regulilor de rescriere.

Mike Madern Mike Madern
4 mar. 2013 13:03:50

Încearcă să salvezi din nou structura de legături permanente făcând clic pe butonul Salvează modificări din setările de Legături permanente.

Vinod Dalvi Vinod Dalvi
4 mar. 2013 13:04:42
Toate răspunsurile la întrebare 2
3
23
  1. Accesează Setări -> Legături permanente
  2. Schimbă structura legăturilor permanente la Implicită
  3. Salvează setările
  4. Schimbă la structură personalizată sau nume articol (sau orice altă structură)
  5. Salvează Setările

Acest proces va rescrie fișierul htaccess și apoi rescrierea URL-urilor ar trebui să funcționeze.


Dacă soluția de mai sus nu funcționează - problema este probabil legată de configurația serverului.

Pentru Apache2

Rulează comanda: a2enmod rewrite && service apache2 reload

Pentru Nginx

Urmează ghidul: https://do.co/2LjCF8r


Sper că acest ghid vă va economisi timpul.

3 oct. 2013 09:23:14
Comentarii

Asta a rezolvat problema pentru mine.

HippoDuck HippoDuck
4 sept. 2019 18:12:51

Clasic flush_rewrite_rules, uit mereu de el :)

Danyl Filatov Danyl Filatov
11 apr. 2022 18:10:25

Opțiunile 1-5 au funcționat pentru mine

breadwild breadwild
13 sept. 2022 22:33:51
3

Re-salvarea structurii de legătură permanentă pare să fi rezolvat problema. Mulțumesc pentru pont, Mike și Vinod.

5 mar. 2013 10:08:50
Comentarii

Am răspuns la asta înaintea lui Nikhil și am crezut că ar fi util. Nu am verificat înapoi de când a postat el răspunsul mai bun. Așadar, e un pic nedrept să mă acuzi că nu am dat creditul celor care au postat răspunsul.

stemie stemie
21 mai 2018 19:31:00

greșeala mea, am văzut martie după octombrie și am crezut că e anul următor... răspunsul tău sumar combinat cu asta a părut o încercare rapidă de a lua credit... Ar fi trebuit să mă uit mai atent (sortarea după numărul de voturi nu ajută nici ea la o privire rapidă), ți-am dat votul pozitiv atât la întrebare cât și la răspuns

Kender Kender
22 mai 2018 20:27:30

@Kender - Nu am avut nicio intenție să iau creditul pentru răspunsul altcuiva sau să-l copiez. Am răspuns conform experienței mele și am explicat răspunsul în detaliu. Poate ajuta mulți developeri să rezolve problema atât din partea CMS, cât și din partea serverului.

Nikhil Nikhil
15 mar. 2019 11:31:31