Moin,
ich mache gerade eine Seite für ein kleines Sportstudio. Dafür habe ich in der functions.php zwei Custom-Post-Types angelegt. Trainer und Kurse:
PHP
function custom_post_type_trainer() {
//Bezeichner fuers Verwalten im Backend werden festgelegt
$labels = array(
'name' => _x( 'Trainer', 'post type general name' ),
'singular_name' => _x( 'Trainer', 'post type singular name' ),
'add_new' => __( 'Neuen Trainer anlegen'),
'add_new_item' => __( 'Neuen Trainer anlegen' ),
'edit_item' => __( 'Trainer bearbeiten' ),
'new_item' => __( 'Neuer Trainer' ),
'all_items' => __( 'Alle Trainer' ),
'view_item' => __( 'Trainer ansehen' ),
'search_items' => __( 'Trainer durchsuchen' ),
'not_found' => __( 'Keine Trainer gefunden' ),
'not_found_in_trash' => __( 'Keine Trainer im Papierkorb gefunden' ),
'parent_item_colon' => '',
'menu_name' => 'Trainer'
);
// Werte des neuen Custom Post Types werden zugewiesen
$args = array( 'labels' => $labels, 'description' => 'Hier sind alle Trainer zu finden', 'hierarchical' => false, 'public' => true, 'show_ui' => true, 'show_in_menu' => true, 'show_in_nav_menus' => true, 'show_in_admin_bar' => true, 'publicly_queryable' => true, 'exclude_from_search' => false, 'supports' => array( 'title', 'editor', 'excerpt', 'thumbnail' ), 'taxonomies' => array( 'post_tag', 'category' ), 'has_archive' => true, 'can_export' => false, 'menu_position' => 5, 'capability_type' => 'post', 'rewrite' => array('slug' => 'trainer' ) );
register_post_type( 'trainer', $args );}
add_action( 'init', 'custom_post_type_trainer' );
function custom_post_type_kurse() {
//Bezeichner fuers Verwalten im Backend werden festgelegt
$labels = array(
'name' => _x( 'Kurse', 'post type general name' ),
'singular_name' => _x( 'Kurse', 'post type singular name' ),
'add_new' => __( 'Neuen Kurs anlegen'),
'add_new_item' => __( 'Neuen Kurs anlegen' ),
'edit_item' => __( 'Kurs bearbeiten' ),
'new_item' => __( 'Neuer Kurs' ),
'all_items' => __( 'Alle Kurse' ),
'view_item' => __( 'Kurs ansehen' ),
'search_items' => __( 'Kurse durchsuchen' ),
'not_found' => __( 'Keine Kurse gefunden' ),
'not_found_in_trash' => __( 'Keine Kurse im Papierkorb gefunden' ),
'parent_item_colon' => '',
'menu_name' => 'Kurse'
);
// Werte des neuen Custom Post Types werden zugewiesen
$args = array(
'labels' => $labels,
'description' => 'Hier sind alle Kurse zu finden',
'hierarchical' => false,
'public' => true,
'show_ui' => true,
'show_in_menu' => true,
'show_in_nav_menus' => true,
'show_in_admin_bar' => true,
'publicly_queryable' => true,
'exclude_from_search' => false,
'supports' => array( 'title', 'editor', 'excerpt', 'thumbnail' ),
'taxonomies' => array( 'post_tag', 'category' ),
'has_archive' => true,
'can_export' => false,
'menu_position' => 5,
'capability_type' => 'post',
'rewrite' => array('slug' => 'kurse' )
);
register_post_type( 'kurse', $args );
}
add_action( 'init', 'custom_post_type_kurse' );
Alles anzeigen
Des Weiteren habe ich die Dateien archive-trainer.php, single-trainer.php, archive-kurse.php und single-kurse.php angelegt.
Die Trainerseiten werden auch ohne Probleme angezeigt.
Leider werden allerdings die Kursseiten nur mit 404 quittiert.
Ich hatte vorher bereits eine Page "Kurse" angelegt, die jetzt gelöscht ist (auch aus dem Papierkorb). Vielleicht liegt es ja daran?
Über Hilfe würde ich mich freuen.
Stark vereinfachte Dateien:
archive-kurse.php
PHP
<?php
/**
* Template Name: Kursseite
*/?>
<?php get_header(); ?>
<?php require(dirname(__FILE__) . "/navbar.php"); ?>
<?php // Check if there are any posts to display
if ( have_posts() ) : ?>
<div id="content" class="kursplan">
<div class="container-fluid">
<div class="row kursplan_head">
</div>
<div class="row kursplan_middle">
<?php
// The Loop
while ( have_posts() ) : the_post(); ?>
<div class="col-xs-12 col-sm-12 col-md-6 col-lg-6 kurs">
<a href="<?php the_permalink() ?>" rel="bookmark" title="Permanent Link to <?php the_title_attribute(); ?>">
<div class="entry">
<?php the_content(); ?>
</div>
</a>
</div>
<?php endwhile; ?>
</div>
<div class="row kursplan_foot">
</div>
</div>
</div>
<?php else: // keine Kurse ?>
<?php endif; ?>
<?php get_footer(); ?>
Alles anzeigen
single-kurse.php
PHP
<?php
/**
* Template Name: Kursseite
*/
?>
<?php get_header(); ?>
<?php require(dirname(__FILE__) . "/navbar.php"); ?>
<div id="content" class="kurse">
<div class="container-fluid">
<?php
if (have_posts()) : while (have_posts()) : the_post(); ?>
<div class="row">
<div class="col-xs-12 col-offset-1 col-sm-10 col-md-6 col-lg-4 text-center">
<?php the_post_thumbnail(); ?>
<h1><?php the_title(); ?></h1>
</div>
<div class="col-xs-12 col-offset-1 col-sm-12 col-md-6 col-lg-8">
<?php the_content(); ?>
</div>
</div>
<?php endwhile; endif; ?>
</div>
</div>
<?php get_footer(); ?>
Alles anzeigen