Support » Code oplossingen gezocht » Taxonomy in URL custom post type?

  • Opgelost wzshop

    (@wzshop)


    Hallo,
    Ik heb een custom post type aangemaakt, genaamd “boeken”.
    Nu heb ik daar een hiërarchische custom taxonomy aangehangen. Deze taxonomy wil ik gebruiken als vervanger van de normale taxonomy ‘category’.

    Nu is mijn vraag of het mogelijk is om de URLs zo te krijgen dat als iemand het boek ‘Boek A’ in de custom taxonomy ‘Categorie X’ bezoekt de url er als volgt uit komt te zien: domein.nl/boeken/categorie-x/boek-a/

    Maw dus dat de custom taxonomy als categorie in de URL tevoorschijn komt. Het enige wat me nu lukt is om de volgende url te genereren: domein.nl/boeken/boek-a/ & domein.nl/boeken/categorie-x/.

    Ik hoop dat het duidelijk is wat ik bedoel, anders verneem ik het graag.
    Alvast enorm bedankt voor je tijd!
    Robbert

11 reacties aan het bekijken - 1 tot 11 (van in totaal 11)
  • Super bedankt donutz, werkt helemaal!

    Hi Donutz,
    Ik zie nu toch een probleem aan de backend.
    Ik maak gebruik van de Types plugin om mijn custom post type en taxonomy aan te maken. Ik heb daar de slug ingevuld: blog/%categorieen%.

    Alles aan de voorkant werkt goed, maar als ik een nieuw bericht in de custom post type wil aanmaken dan krijg ik een foutmelding:

    Warning: array_pop() expects parameter 1 to be array, boolean given in /Theme_folder/functions.php on line 41

    Enig idee wat dit kan zijn en hoe ik het kan verhelpen?
    Nogmaals bedankt.

    kan je even kijken wat er staat op /Theme_folder/functions.php line 41 ?

    Hé Donutz,
    dat is deze code

    $post_link = str_replace( '%categorieen%', array_pop($event_type_term)->slug, $post_link );
        }

    Zie ‘array_pop’.
    Dit is dus afkomstig van de code welke wordt weergegeven op de link die je me gaf.

    Wederom dank!

    Wanneer verschijnt de melding: voor of na het publiceren? En éénmaal gepubliceerd, is de melding dan weg?

    Voor het publiceren verschijnt de melding.
    Wanneer ik een bericht invoer komt de melding er dubbel te staan (bij invoeren titel niet).

    Als ik hem publiceer, dan wel in een later stadium wijzig, is de melding weg.
    Wederom bedankt.

    Bij een nieuw bericht is de terms array $event_type_term leeg. De array wordt gevuld met de ‘categorieën’ die je hebt aangeduid op het moment dat je je post opslaat of publiceert. Op dat moment verdwijnt dan ook de melding.

    Ik vermoed dat je debug hebt aangezet? Indien ja, dan mag je de melding gerust negeren.

    Je kan evt. wel eens proberen of het helpt om $event_type_term = array(); te plaatsen net voor $event_type_term = get_the_terms( $post->ID, 'event_type' );

    define(‘WP_DEBUG’, false);

    De debug staat dus uit.

    add_filter('post_type_link', 'events_permalink_structure', 10, 4);
    function events_permalink_structure($post_link, $post, $leavename, $sample)
    {
        if ( false !== strpos( $post_link, '%categorieen%' ) ) {
    $event_type_term = array();
    $event_type_term = get_the_terms( $post->ID, 'categorieen' );
    $post_link = str_replace( '%categorieen%', array_pop($event_type_term)->slug, $post_link );
        }
        return $post_link;
    }

    Zo gaat de foutmelding weg, maar werkt de rewrite niet.
    Wederom bedankt.

    Geweldig, bedankt!

11 reacties aan het bekijken - 1 tot 11 (van in totaal 11)
  • Het onderwerp ‘Taxonomy in URL custom post type?’ is gesloten voor nieuwe reacties.