• Hi,

    this is my function regitering my custom post type:

    add_action( 'init', 'erfolgsgeschichten_taxonomy_init' );
    
    function erfolgsgeschichten_taxonomy_init() {
    	register_taxonomy(
    		'erfolgsgeschichten_taxonomy',
    		'erfolgsgeschichte',
    		array(
    			'label' 					=> __( 'Erfolgsg. Kategorien' ),
    			'sort' 						=> TRUE,
    			'public'            		=> TRUE,
    			'query_var'         		=> 'neu-de-erfolgsgeschichten',
    			'args' 						=> array( 'orderby' 	=> 'term_order' ),
    			'rewrite' 					=> array('slug' => 'neu-de-erfolgsgeschichten'),
    		)
    	);
    }
    
    add_action('init', 'herzklopfen_erfolgsgeschichte_register');
    
    function herzklopfen_erfolgsgeschichte_register() {
    	$labels = array(
    		'name' => __('Erfolgsgesch.', 'zenon'),
    		'singular_name' => __('Erfolgsgeschichte', 'zenon'),
    		'add_new' => __('Erstellen', 'zenon'),
    		'add_new_item' => __('Erfolgsgeschichte erstellen', 'zenon'),
    		'edit_item' => __('Erfolgsgeschichte bearbeiten', 'zenon'),
    		'new_item' => __('Neuer Erfolgsgeschichte', 'zenon'),
    		'view_item' => __('Ansehen', 'zenon'),
    		'search_items' => __('Search Erfolgsgeschichten', 'zenon'),
    		'menu_icon' => get_stylesheet_directory_uri() . '/images/backend/microposticon.png',
    		'not_found' =>  __('Nothing found', 'zenon'),
    		'not_found_in_trash' => __('Nothing found in Trash', 'zenon'),
    		'parent_item_colon' => ''
    );
    
    	$args = array(
    		'labels' => $labels,
    		'public' => true,
    		'exclude_from_search' => FALSE,
    		'publicly_queryable' => TRUE,
    		'show_ui' => true,
    		'query_var' => true,
    		'menu_icon' => get_stylesheet_directory_uri() . '/images/erfolgsgeschichte.png',
    		'rewrite' => array
                (
                    /*'slug' => '%erfolgsgeschichten_taxonomy%',*/
    				'slug' => '/erfolgsgeschichten',
    				'with_front' => FALSE
                ),
    		'capability_type' => 'post',
    		'hierarchical' => false,
    		'menu_position' => 6,
    		'supports' => array('title','editor','excerpt','thumbnail', 'custom-fields', 'revisions'),
    		//'register_meta_box_cb' => 'podcasts_add_meta'
    	  ); 
    
    	register_post_type( 'erfolgsgeschichte' , $args );
    	global $wp_rewrite;
        $wp_rewrite->flush_rules();
    }
    
    add_filter('post_type_link', 'erfolgsgeschichten_permalink_structure', 10, 2);
    
    function erfolgsgeschichten_permalink_structure($post_link, $post){
        if ( false !== strpos( $post_link, '%erfolgsgeschichten_taxonomy%' ) ) {
            $event_type_term = get_the_terms( $post->ID, 'erfolgsgeschichten_taxonomy' );
            $post_link = str_replace( '%erfolgsgeschichten_taxonomy%', array_pop( $event_type_term )->slug, $post_link );
        }
        return $post_link;
    }

    The rewrite for my custom post types works fine.

    All other posts an pages return a 404.

    What could be the issue?

    Thanks,
    Lars

  • The topic ‘Rewrite for cpt produces 404 for regular posts an pages’ is closed to new replies.