Ondersteuning » Code oplossingen gezocht » Custom Post Types, Taxonomies, Pages en gelijke slugs

  • Dit levert mij toch de nodige hoofdbrekens op. Ik krijg het volgende niet voor elkaar.

    Op dit moment is mijn reisaanbod gemaakt met custom post type (reis) en taxonomies (doelgroep)
    bijv. /reizen/families (archive page). Werkt allemaal prima, gecreëerd met onderstaande code.

    Nu komen er ‘normale’ pagina’s bij, maar nu wil de klant opeens de structuur omgooien.

    /families/pagina1
    /families/pagina2

    Idealiter komen de reizen (custom posts) hier ook onder te hangen:

    dus van reizen/families naar families/reizen. Ik krijg het niet voor elkaar. Of de normale pagina’s geven 404’s, of de ‘reizen’-pagina. Hoop dat iemand hier zijn licht op kan schijnen.

    ————

    add_action(‘init’, ‘create_reizen’);
    function create_reizen()
    {

    register_taxonomy
    (
    ‘doelgroep’,
    ‘reis’,
    array
    (
    ‘hierarchical’ => true,
    ‘labels’ => array
    (
    ‘name’ => _x(‘Doelgroepen’, ’taxonomy general name’),
    ‘singular_name’ => _x(‘Doelgroep’, ’taxonomy singular name’)
    ),
    ‘show_ui’ => true,
    ‘rewrite’ => array(
    ‘slug’ => ‘reizen’,
    ‘with_front’ => true),
    ‘query_var’ => true,
    ‘has_archive’ => true,
    )
    );

    register_post_type
    (
    ‘reis’,
    array
    (
    ‘labels’ => array
    (
    ‘name’ => _x(‘Reizen’, ‘post type general name’),
    ‘singular_name’ => _x(‘Reis’, ‘post type singular name’),
    ‘add_new’ => _x( ‘Voeg nieuwe Reis toe’, ‘reis’, ‘your-plugin-textdomain’ ),
    ‘add_new_item’ => __( ‘Voeg Nieuwe Reis toe’, ‘your-plugin-textdomain’ ),
    ‘new_item’ => __( ‘Nieuwe Reis’, ‘your-plugin-textdomain’ ),
    ‘edit_item’ => __( ‘Wijzig Reis’, ‘your-plugin-textdomain’ ),
    ‘view_item’ => __( ‘Bekijk Reis’, ‘your-plugin-textdomain’ ),
    ‘all_items’ => __( ‘Alle Reizen’, ‘your-plugin-textdomain’ ),
    # And so on …
    ),
    ‘supports’ => array(’title’, ‘editor’, ’thumbnail’, ‘excerpt’, ‘page-attributes’),
    ‘public’ => true,
    ‘rewrite’ => array(
    ‘slug’ => ‘/reizen/%doelgroep%’,
    ‘with_front’ => true),
    ‘has_archive’ => true,
    ’taxonomies’ => array( ‘doelgroep’ ),
    )
    );
    }
    add_filter(‘post_type_link’, ‘reis_doelgroep_permalink’, 10, 4);
    function reis_doelgroep_permalink($post_link, $post, $leavename, $sample)
    {
    if ( false !== strpos( $post_link, ‘%doelgroep%’ ) ) {
    $doelgroep = get_the_terms( $post->ID, ‘doelgroep’ );
    $post_link = str_replace( ‘%doelgroep%’, array_pop( $doelgroep )->slug, $post_link );
    }
    return $post_link;
    }

  • Het onderwerp ‘Custom Post Types, Taxonomies, Pages en gelijke slugs’ is gesloten voor nieuwe reacties.