Ondersteuning » Algemeen WordPress » [bug?] Custom Post Type name conflict

  • Opgelost Mark Jansen

    (@mark-jansen)


    Gegroet allen,

    ik heb een probleem met Custom Post Types en pagina namen. Dit levert een conflict op.

    Wat blijkt nu, een CPT mag kennelijk niet dezelfde naam hebben als een template naam of een pagina naam. Ik heb alleen geen idee waarom. Ik heb er wat blogs en artikelen over kunnen vinden en wat gezien, maar de oplossing die ik zoek, heb ik nog niet helemaal gevonden. Het is me allemaal nog niet helemaal duidelijk. Zeker omdat ik toch ooit dacht dat ik het wel werkend had.

    De casus
    Ik wil een portfolio pagina maken. Daarvoor heb ik met Custom Post Type UI een CPT genaamd portfolio aangemaakt. So far so good.

    Vervolgens maak ik een pagina genaamd Portfolio en maak ik een template genaamd portfolio.php met daarin de volgende code:

    <?php
    	$loop = new WP_Query(array('post_type' => 'portfolio', 'posts_per_page' => 10));
    	while ( $loop->have_posts() ) : $loop->the_post();
    		the_title();
    		echo '<div class="entry-content">';
    		the_content();
    		echo '</div>';
    	endwhile;
    ?>

    De pagina Portfolio krijgt dan dus als template portfolio.php. Logisch en iets wat volgens mij ook geen probleem zou moeten zijn.

    Maar dan het probleem
    Kennelijk kan WordPress er niet mee omgaan als je je CPT en pagina dezelfde naam hebben. Misschien dat iemand me kan uitleggen waarom dat zo is.

    Wat er nu vervolgens gebeurt is dat als ik naar de portfolio pagina ga, hij lekker alle templates over slaat en naar index.php gaat. En dat wil ik dus niet.

    Ik heb zelf nog gedacht dat archive-posttype nog een oplossing zou zijn, maar dat is dus kennelijk ook niet wat ik moet hebben.

    Als ik de naam van de CPT verander naar bijvoorbeeld projects, kan ik wel de CPT’s weergeven op de pagina Portfolio, maar zodra je daar de the_permalink() van pakt, gaat die naar mysite.nl/projects/projectnaam en ik wil dat ik gewoon naar mysite.nl/portfolio/projectnaam kan gaan.

    Ja en wat wil je nou dan?
    Nou; dat het werkt.

    Maar serieus, er moet toch een manier zijn dat ik op de pagina Portfolio een lijst kan maken van de CPT portfolio zonder dat ik allemaal namen door elkaar hoef te gaan gebruiken?

    Ik ben al een tijdje op zoek naar de goede oplossing en ik snap er echt helemaal niks meer van nu, dus ik hoop dat iemand mij een schop in de goede richting kan geven.

    Alvast bedankt,

    Mark

2 reacties aan het bekijken - 1 tot 2 (van in totaal 2)
2 reacties aan het bekijken - 1 tot 2 (van in totaal 2)
  • Het onderwerp ‘[bug?] Custom Post Type name conflict’ is gesloten voor nieuwe reacties.