wordpress - tworzenie strony archiwum

0

Witam,

W wordpress tworzę swój temat.
Mam plik posttypes.php, w którym mam swój typ.
Stworzyłem plik archive-mojtyp.php

ale strona po adresem http://localhost/wordpress/mojtyp nie działa.
Mógłby mi ktoś wytłumaczyć co robię źle?

Plik posttypes

<?php 

add_action('init','page_init_posttypes');


function page_init_posttypes()
{
    /* Rejestrujemy newsy */
    
    $news_args = array(
        'labels' => array(
            'name' => 'Newsy',
            'singular_name' => 'Newsy',
            'all_items' => 'Wszystkie newsy',
            'add_ned' => 'Dodaj news',
            'add_new_item' => 'Dodaj news',
            'edit_item' => 'Edytuj news',
            'new_item' => 'Nowy news',
            'view_item' => 'Zobacz news',
            'search_items' => 'Szukaj w newsach',
            'not found' => 'Nie znaleziono',
            'not_found_in_trash' => 'Brak newsow w koszu',
            'parent_item_colon' => ' '
        ),
        'public' => true,
        'public_queryable' => true,
        'show_ui' => true,
        'query_var' => true,
        'rewrite' => true,
        'capability_type' => 'post',
        'hierarchical' => false,
        'menu_position' => 5,
        'supports' => array(
            'title', 'editor', 'author', 'thumbnail', 'excerpt', 'comments', 'custom-fields', 'post-formats'
            
        ),
        'has_archive' => true
    );
    
    register_post_type('news', $news_args);
    
}



?>

Plik archive-mojtyp.php

<?php get_header(); ?>


<?php echo 'test' ?>

<?php get_footer(); ?>

pracuję aktualnie na localhost na wamp

0

Wejdź w ustawienia -> Bezpośrednie odnośniki i jeszcze raz zapisz bieżące ustawienia

0

Co jest nie tak w takim zapisie odnośników?

/%category%/%postname%/
bo na domyślnym raczej zaczęło działać :)

0

Mówiłem żebyś tylko zaktualizował te ustawienia które są (wordpress musi sobie odświeżyć używany sposób permalinków), możliwe że na Twoim również zadziała

0

Odświeżenie nie zadziałało.

0

być może dlatego że w schemacie masz %category%, a dla Twojego typu postu nie masz żadnej taksonomii. Ale nie gwarantuje ;)

0

Jak polecasz zrobić to bez taksonomii. To będą tylko aktualności ogólne i tagi nie są mi potrzebne, ale czy konieczne(?)

0

Użyj domyślnej wordpressowej taksonomii czyli po prostu kategorii, podczas rejestracji nowego typu postów użyj

'taxonomies' => array('category')

Wtedy Twój schemat permalinków ma rację bytu.

Ale skoro nie potrzebujesz taksonomii(kategorii, tagów) to po co w schemacie linku %category%? Użyj po prostu domyślnego /%postname%

0

Nie pomogły te zmiany.
404 - not found.

Nie wiem co robię źle, dodałem taksonomie do tworzonego typu, ale to też nie zdało egzaminu.
Zaczynam się w tym gubić.

0

Jakie taksonomie dodałeś, jaki link próbujesz uruchomić?

0
<?php 

add_action('init','typ_init_posttypes');


function typ_init_posttypes()
{
    /* Rejestrujemy newsy */
    
    $news_args = array(
        'labels' => array(
            'name' => 'Newsy',
            'singular_name' => 'Newsy',
            'all_items' => 'Wszystkie newsy',
            'add_ned' => 'Dodaj news',
            'add_new_item' => 'Dodaj news',
            'edit_item' => 'Edytuj news',
            'new_item' => 'Nowy news',
            'view_item' => 'Zobacz news',
            'search_items' => 'Szukaj w newsach',
            'not found' => 'Nie znaleziono',
            'not_found_in_trash' => 'Brak newsow w koszu',
            'parent_item_colon' => ' '
        ),
        'public' => true,
        'public_queryable' => true,
        'show_ui' => true,
        'query_var' => true,
        'rewrite' => true,
        'capability_type' => 'post',
        'hierarchical' => false,
        'menu_position' => 5,
        'supports' => array(
            'title', 'editor', 'author', 'thumbnail', 'excerpt', 'comments', 'custom-fields', 'post-formats'
            
        ),
        'has_archive' => true
    );
    
    register_post_type('news', $news_args);
    
}

add_action('init', 'typ_init_taxonomies');
    

    
function typ_init_taxonomies(){

 
    register_taxonomy(
        'type',
        array('news'),
        array(
            'hierarchical' => true,
            'labels' => array(
                'name' => 'Kategoria newsa',
                'singular_name' => 'Kategoria newsa',
                'search_items' =>  'Wyszukaj kategorie',
                'popular_items' => 'Najpopularniejsze kategorie',
                'all_items' => 'Wszystkie kategorie',
                'most_used_items' => null,
                'parent_item' => null,
                'parent_item_colon' => null,
                'edit_item' => 'Edytuj kategorie', 
                'update_item' => 'Aktualizuj kategorie',
                'add_new_item' => 'Dodaj nową kategorie',
                'new_item_name' => 'Nazwa nowej kategorii',
                'separate_items_with_commas' => 'Oddziel kategorie przecinkiem',
                'add_or_remove_items' => 'Dodaj lub usuń kategorie',
                'choose_from_most_used' => 'Wybierz spośród najczęścież używanych kategorii',
                'menu_name' => 'Kategorie',
            ),
            'show_ui' => true,
            'update_count_callback' => '_update_post_term_count',
            'query_var' => true,
            'rewrite' => array('slug' => 'type' )
    ));

}

?>

Dodałem 4 tagi dla testu w kokpicie.

link uruchamiam http://localhost/wordpress/%category%/%postname%/

0

Dłubiesz w czymś co nie masz kompletnie pojęcia jak działa i dlaczego. Co według Ciebie ma zwrócić strona z takim linkiem? %category% i %postname% to są ZNACZNIKI które przy wywołaniu linku http://localhost/wordpress/pozostale/witaj-swiecie/, uruchamiają stronę posta Witaj Świecie (jeśli ma slug witaj-swiecie) z kategorii Pozostałe (slug pozostale).

0

Może nie mam do końca pojęcia, dlatego proszę o pomoc.
Uczę się wordpress'a i dlatego nie wiem jak jeszcze to wszystko funkcjonuje.

Dokładnie tak samo rozumiem wyświetlenie strony z linkiem, który podałeś.

0

Podczas rejestracji typu postu dodaj obsługę kategorii dla niego (jak to zrobić napisałem Ci parę postów wcześniej - nie rób własnej taksonomii), zrób przykładową kategorię, zrób nowego posta dla własnego typu (przypisując mu kategorię podczas tworzenia), i uruchom link w formacie /wordpress/slug_kategorii/slug_posta

0 użytkowników online, w tym zalogowanych: 0, gości: 0