Niestandardowa strona archiwum typu posta nie jest wyświetlana

11

Mam na swojej stronie kategorię o nazwie „profile”. Jestem w trakcie przenoszenia tej kategorii do niestandardowego typu postu o nazwie „profile”.

Mój problem polega na tym, że nie mogę wyświetlić strony archiwum dla tego niestandardowego typu postu. Kiedy przechodzę do mywebsite.com/profilesadresu URL , zabiera mnie do pojedynczej strony postu dla posta w kategorii profili.

Zawarłem has_archive = true;w moimfunctions.php

Nie miałem problemu z utworzeniem strony archiwum dla innego niestandardowego typu postów, które zrobiłem w tej samej witrynie, więc naprawdę nie wiem, dlaczego tym razem nie działa.

Jakakolwiek rada byłaby najbardziej doceniana?

add_action( 'init', 'profile_custom_init' );

/* Here's how to create your customized labels */
function profile_custom_init() {
$labels = array(
    'name' => _x( 'Profiles', 'post type general name' ), // Tip: _x('') is used for localization
    'singular_name' => _x( 'Profile', 'post type singular name' ),
    'add_new' => _x( 'Add New', 'Profile' ),
    'add_new_item' => __( 'Add Profile' ),
    'edit_item' => __( 'Edit Profile' ),
    'new_item' => __( 'New Profile' ),
    'view_item' => __( 'View Profile' ),
    'search_items' => __( 'Search Profile' ),
    'not_found' =>  __( 'No Profile found' ),
    'not_found_in_trash' => __( 'No Profile found in Trash' ),
    'parent_item_colon' => ''
);

// Create an array for the $args
$args = array( 'labels' => $labels, /* NOTICE: the $labels variable is used here... */
    '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 ); /* Register it and move on */
}
stemie
źródło
Spróbuj zmienić ślimak kategorii profilu na coś innego jak profile-2.
Vinod Dalvi
Wydaje się, że nie działa. Również, jeśli przejdę na stronę mywebsite.com/ jego, na przykład, zamiast zabierać mnie na stronę 404 (nie mam żadnej strony ani postu o nazwie „jego”), to zabiera mnie do postu rozpoczynającego się słowem „jego”. To wydaje się bardzo dziwne?
stemie
Czy próbowałeś ponownie zapisać swoją strukturę permalink? Powoduje to ponowne wygenerowanie reguł przepisywania.
Mike Madern
Spróbuj ponownie zapisać strukturę łącza bezpośredniego, klikając przycisk Zapisz zmiany w Ustawieniach łącza bezpośredniego.
Vinod Dalvi

Odpowiedzi:

18
  1. Przejdź do Ustawienia -> permalinki
  2. Zmień strukturę bezpośredniego łącza na Domyślne
  3. Zapisz ustawienia
  4. Zmień na niestandardową strukturę lub nazwę postu (lub dowolną inną strukturę)
  5. Zapisz ustawienia

Spowoduje to ponowne zapisanie pliku htaccess, a następnie ponowne zapisanie powinno działać.


Jeśli powyższe rozwiązanie nie działa - powinno być związane z konfiguracją serwera.

Aapache2

Biegać: a2enmod rewrite && service apache2 reload

Nginx

Śledź: https://do.co/2LjCF8r


Mam nadzieję, że pozwoli to zaoszczędzić Twój czas.

Nikhil
źródło
To rozwiązało dla mnie.
user2924019,
3

Ponowne zapisanie struktury permalink wydawało się rozwiązać problem. Dzięki za wskazówkę Mike i Vinod.

stemie
źródło
1
Odpowiedziałem na to przed Nikhilem i pomyślałem, że to będzie pomocne. Nie sprawdziłem ponownie, odkąd opublikował lepszą odpowiedź. Więc trochę niesprawiedliwe jest oskarżanie mnie o nieuznawanie zasług osobom, które opublikowały odpowiedź.
stemie
mój zły, widziałem marsz po październiku i myślałem, że to będzie następny rok. Twoja rzadka odpowiedź w połączeniu z tym wyglądała jak szybka grabież kredytu. Powinienem był przyjrzeć się bliżej (sortowanie według liczby głosów nie pomaga w szybkim wygląda albo), dał ci głos w górę zarówno na pytanie, jak i odpowiedź
Kender
@Kender - nie miałem zamiaru pobierać napisów od innych osób, które odpowiedziały lub je skopiowały. Odpowiedziałem na to na podstawie mojego doświadczenia i szczegółowo wyjaśniłem odpowiedź. Może pomóc wielu programistom rozwiązać problem od strony CMS, a także serwera.
Nikhil