it-swarm.com.de

Erstellen einer Seite zum Anzeigen der Liste der Beiträge für einen benutzerdefinierten Beitragstyp?

( Anmerkung des Moderators: Der ursprüngliche Titel lautete "Anzeigen benutzerdefinierter Beitragstypen")

Ich habe einen benutzerdefinierten Beitragstyp namens 'recordings' mit einer benutzerdefinierten Taxonomie namens 'themes' eingerichtet:

add_action('init', 'recordings');
function recordings() {
  $args = array(
    'label' => __('Recordings'),
    'singular_label' => __('Recordings'),
    'public' => true,
    'show_ui' => true,
    'capability_type' => 'post',
    'hierarchical' => false,
    'rewrite' => true,
    'supports' => array('title', 'editor', 'thumbnail', 'custom-fields')
  );
  register_post_type( 'recordings' , $args );
}
register_taxonomy("Themes", array("recordings"), array(
  "hierarchical" => true, 
  "label" => "Themes", 
  "singular_label" => "Theme", 
  "rewrite" => true
));

Ich habe gelesen, dass ich jetzt eine Kopie von page.php machen, recordings-page.php umbenennen und nach Geschmack würzen soll (Code ist wie folgt):

<?php
/*
Template Name: recordingsPage
*/
?>
<?php get_header(); ?>
<div id="container">
  <div id="content" role="main">
  <div id="post-<?php the_ID(); ?>" <?php post_class(); ?>
    <?php $recent = new WP_Query('post_type=recording&posts_per_page=10&meta_key=Date&orderby=meta_value&order=ASC'); ?>
    <?php while($recent->have_posts()) : $recent->the_post();?>
      <?php the_title( '<h2 class="entry-title"><a href="' . 
        get_permalink() . '" title="' . the_title_attribute( 'echo=0' ) . 
        '" rel="bookmark">', '</a></h2>' 
      ); ?>
      <div class="entry-content">
        <?php the_content(); ?>
        <?php wp_link_pages( array( 
          'before' => '<div class="page-link">' . __( 'Pages:', 'twentyten' ), 
          'after' => '</div>' 
        ) ); ?>
        <?php edit_post_link( 
          __( 'Edit', 'twentyten' ), 
          '<span class="edit-link">', '</span>' 
        ); ?>
      </div><!-- .entry-content -->
      <?php comments_template( '', true ); ?>
    <?php endwhile; ?>
  </div><!-- #content -->
</div><!-- #container -->

Aber hier stecke ich fest. Ich bin mir nicht sicher, wie ich meine Aufnahme-Seite aufrufen soll? Ich habe eine neue Seite namens Aufzeichnungen hinzugefügt, aber alles, was angezeigt wird, ist die Kopfzeile/Navigation und die Seitenleiste. Ich arbeite mit einer Neuinstallation unter Verwendung des TwenyTen-Themas. Ich bin mir sicher, dass ich hier etwas vermisse, aber ich weiß nicht was.

1
don de lion

Ich denke, es könnte so einfach sein, dass Sie die Seitenvorlage auf "recordingsPage" setzen müssen, wie Sie in den folgenden Screenshots sehen können:


(Quelle: mikeschinkel.com )


(Quelle: mikeschinkel.com )

AKTUALISIEREN

Wenn Sie sich Ihren Code noch einmal ansehen, scheinen Sie Ihren Beitragstyp als Plural ('recordings') zu definieren, und dennoch bezeichnen Sie ihn in Ihrem 'recording' als Singular (WP_Query). Sie müssen konsequent sein; WordPress kann den Unterschied nicht herausfinden (Meiner Erfahrung nach sollte Singular den ganzen Weg verwendet werden, aber wenn Sie bereits Aufzeichnungen in Ihrer Datenbank haben, müssen Sie diese Aufzeichnungen jetzt aktualisieren, um 'aufzeichnen' zu können. instead of 'recordings' .)

2
MikeSchinkel