Hallo zusammen,
ich habe ein Problem was ich einfach nicht lösen kann.
Es geht um eine Seite einer Eventagentur.
Erstellt wurden von mir Custom Post Types wie zum Beispiel "stripperin".
Funktioniert auch soweit und die Tänzerinnen können angelegt werden.
Da ich zu den Übersichtsseiten jedoch auch eigenen Content einfügen möchte, will ich die Archive Seite dafür deaktivieren auch bei den dazugehörigen Category-Seiten.
Es soll aber trotzdem eine klare URL-Struktur geben:
http://www.roda-events.de/stripperin -> Von mir statisch erstellte Übersichtsseite -> funktioniert auch
http://www.roda-events.de/stripperin/nrw -> Obwohl die Seite von mir ebenso statisch erstellt wurde, will WP immer das zugehörige Archiv-Template ziehen.
Es sollte eigentlich die selbe Seite sein,wie die temporäre Lösung zum anzeigen: http://www.roda-events.de/stripperin-buchen/nrw
Also im Backend existiert diese Statische Seite "http://www.roda-events.de/stripperin/nrw" defintiv!
Beispiel URL jeweiliger Tänzerinnern:
http://www.roda-events.de/stripperin/nrw…buchen-kimberly -> Funktioniert auch
Ich möchte jedoch auch dass die jeweiligen von mir erstellten Category-Seiten zu der Ordnerstruktur passen!
Also:
http://www.roda-events.de/stripperin/nrw
http://www.roda-events.de/stripperin/berlin
etc.
Hat jemand eine Idee?
Hier mein Code für die Umschreibung der URL bei den CustomFieldsCategorien
function my_cpt_stripperin() {
$labels = array(
'name' => _x( 'Stripperin', 'post type general name' ),
'singular_name' => _x( 'Stripperin', 'post type singular name' ),
'parent_item_colon' => '',
'menu_name' => 'Stripperin'
);
$args = array(
'labels' => $labels,
'description' => 'Füge Stripperin hinzu',
'public' => true,
'menu_position' => 5,
'supports' => array( 'title', 'editor', 'thumbnail', 'excerpt', 'comments' ),
#'has_archive' => 'stripperin/%stripperin_category%',
'has_archive' => false,
'hierarchical' => false,
'rewrite' => array('slug' => 'stripperin/%stripperin_category%','with_front' => true),
#'rewrite' => array('slug' => 'stripperin'),
'query_var' => true,
//'rewrite' => true,
//'publicly_queryable' => false,
);
register_post_type( 'stripperin', $args );
}
add_action( 'init', 'my_cpt_stripperin' );
function my_cpt_stripperin_taxonomy() {
$labels = array(
'name' => _x( 'Categories', 'taxonomy general name' ),
'singular_name' => _x( 'stripperin_category', 'taxonomy singular name' ),
'search_items' => __( 'Search Categories' ),
'all_items' => __( 'All Categories' ),
'parent_item' => __( 'Parent Category' ),
'parent_item_colon' => __( 'Parent Category:' ),
'edit_item' => __( 'Edit Category' ),
'update_item' => __( 'Update Category' ),
'add_new_item' => __( 'Add New Category' ),
'new_item_name' => __( 'New Category' ),
#'menu_name' => __( 'Category' ),
);
$args = array(
'labels' => $labels,
'hierarchical' => true,
'public' => true,
'query_var' => 'stripperin_category',
'rewrite' => array('slug' => 'stripperin','with_front' => false ),
'has_archive' => false,
'_builtin' => false,
);
register_taxonomy( 'stripperin_category', 'stripperin', $args );
}
add_action( 'init', 'my_cpt_stripperin_taxonomy', 0 );
/* Modifizieren der URL damit der Stripperin-Post auch die Category in der Url hat */
add_filter('post_link', 'brand_permalink_2', 1, 3);
add_filter('post_type_link', 'brand_permalink_2', 1, 3);
function brand_permalink_2($permalink, $post_id, $leavename) {
if (strpos($permalink, '%stripperin_category%') === FALSE) return $permalink;
// Get post
$post = get_post($post_id);
if (!$post) return $permalink;
// Get taxonomy terms
$terms = wp_get_object_terms($post->ID, 'stripperin_category');
if (!is_wp_error($terms) && !empty($terms) && is_object($terms[0]))
$taxonomy_slug = $terms[0]->slug;
else $taxonomy_slug = 'no-brand';
return str_replace('%stripperin_category%', $taxonomy_slug, $permalink);
}
Alles anzeigen