Ondersteuning » Code oplossingen gezocht » nieuwe posttype, archive.php en get_the_term_list() link niet goed

  • Hallo,

    Ik heb hier ne nieuwe posttype gemaakt, met als naam ‘kattenrassen’, voor mijn eigen theme.
    Ik heb natuurlijk ook ne archive.php file in mijn theme.
    Mijn posttype ‘kattenrassen’ wil ik ook een eigen archive file geven, dus ik geef die pagina de naam ‘archive-kattenrassen.php’
    Ik wil met de functie get_the_term_list() linken naar archive-kattenrassen.php maar die link gewoon altijd naar de archive.php ????? hoe komt dat???? help!!!!

    bedankt alvast

7 reacties aan het bekijken - 1 tot 7 (van in totaal 7)
  • Thread starter Karthuizer

    (@santermans)

    Om simpel te zeggen, want mss kan niemand aan die bovenstaande uitleg uit.
    Ik wil dus gewoon op de archive-$posttype.php geraken.
    Ziehier de wordpress template hierarchy:
    http://codex.wordpress.org/images/1/18/Template_Hierarchy.png

    Waar wil je deze function dan voor gebruiken?

    get_the_term_list()

    Volgens mij heb je dat helemaal niet nodig en is dat de reden dat hij terugvalt op de standaard archive.php

    Zodra jij.
    archive-bloemen.php zou aanmaken dan neemt hij deze altijd zodra er een posttype is met bloemen. Is dit bestand er niet dan valt WP terug op archive.php

    Dit werkt 100% het zelfde met alle andere template files en is het mooie aan WP.
    Ook als jij gewoon één categorie pagina anders wilt stijlen of vormen dan andere dan dupliceer je gewoon category.php en maakt er category-naam.php of category-IDnummer.php van.

    Thread starter Karthuizer

    (@santermans)

    Bedankt voor de hulp Shmoo.
    Met diene get_the_term_list() wil ik dus naar archive-kattenrassen.php linken(maar die naar linkt naar de gewone archive.php).
    Met de get_the_term_list() lees ik mijn nieuwe ’taxonomie’ uit, en die krijg ik ook te zien, dus dat werkt.

    Dus ik heb de get_the_term_list() helemaal niet nodig??
    Maar hoe moet ik linken naar mijn archive-kattenrassen.php ??

    Heb je via de functions.php je taxonomie goed ingesteld?

    Want normaal moet dit helemaal vanzelf gebeuren.

    Dit is nog steeds een mooie en duidelijke uitleg.
    http://justintadlock.com/archives/2010/04/29/custom-post-types-in-wordpress

    Thread starter Karthuizer

    (@santermans)

    Bedankt voor de link!
    Er zitten blijkbaar nog heel wat gaten in mijn wordpress kennis 🙁
    Wat ik ook niet goed weet is:
    Op de nieuwe pagina voor mijn custom post type.
    Moet ik dan op deze pagina ook altijd een nieuwe query maken?
    Zoals bevoorbeeld:
    <?php $loop = new WP_Query( array( 'post_type' => 'super_duper', 'posts_per_page' => 10 ) ); ?>
    Of kan het ook gewoon met:

    <?php if(have_posts()) : while(have_posts()) : the_post(); ?>
    <a href="<?php the_permalink(); ?>" title="<?php the_title(); ?>"><?php the_title(); ?></a>
    <?php  the_content(); ?>
    <?php endwhile ?>

    Nee je moet wel natuurlijk de Custom Post Type uit de database halen.

    Daarvoor heb je die wp_query – post_type -> naam + extra opties zoals max. 10 p/pagina.

    Daarna komt IF have post – while have posts.

    Dat laatste is zeg maar niets meer dan een loop die steeds opnieuw gelezen wordt totdat alle posts geladen zijn en als er geen posts gevonden kunnen worden dan is er meestal een ELSE ->> 404 hier zijn geen posts te vinden.

    Dus kortom, die if have posts en while have posts halen de blog posts uit de database maar omdat jij een eigen post-type hebt aangemaakt (dus eigen posts en niet de standaard wp posts) moet je die wp_query gebruiken boven de if have posts.

    Zoiets is het ik heb ook geen verstand van PHP maar dat begrijp ik er nog net van.

    Thread starter Karthuizer

    (@santermans)

    Ah, dat weet ik nu ook weer. 🙂
    Daarom werken die links mss ook niet zoals ik het wil.
    Nog is bedankt voor de hulp, hopelijk lukt het verder met mijne wordpress site.

7 reacties aan het bekijken - 1 tot 7 (van in totaal 7)
  • Het onderwerp ‘nieuwe posttype, archive.php en get_the_term_list() link niet goed’ is gesloten voor nieuwe reacties.