it-swarm.com.de

Benutzerdefinierter Beitragstyp: Wie wird dieselbe Taxonomie angezeigt?

Gibt es nicht eine Permalink-Struktur, die im Wesentlichen alle categorieseines bestimmten post type auflistet?

function create_faqs_post_type() {
    register_post_type( 'faqs',
        array(
            'labels' => array(
                'name' => __( 'FAQs' ),
                'singular_name' => __( 'FAQ' )
            ),
        'public' => true,
        'menu_position' => 5,
        'rewrite' => array('slug' => 'the-faqs')
        )
    );
}
add_action( 'init', 'create_faqs_post_type' );

function create_faq_taxonomy() {
    register_taxonomy(
        'faqs_categories',
        'faqs',
        array(
            'hierarchical' => true,
            'label' => 'FAQs Categories',
            'query_var' => true
        )
    );
}
add_action( 'init', 'create_faq_taxonomy' );

Dies ist der Code, mit dem ich den benutzerdefinierten Beitragstyp faqsregistriert und dann eine Taxonomie dafür registriert habe.

Gibt es nicht eine Permalink-Struktur, die im Wesentlichen automatisch alle faqseiner bestimmten Taxonomie auflistet? Oder muss ich eine benutzerdefinierte Vorlage erstellen und diese speziell abfragen?

1
dcolumbus

@dcolumbus

Sie können ein Umschreiben von Permalinks durchführen, wenn Sie die Taxonomie folgendermaßen registrieren:

'rewrite' => array ('slug' => 'faqcategories', 'with_front' => false)

Dann sollte site.com/faqcategories sie ziehen und site.com/faqcategories/easy sollte sie für Sie für die 'einfache' Laufzeit besorgen.

Wenn ich dich richtig verstehe.

1
Christopher

Sie können so etwas verwenden:

<?php
$catArgs = array(
        'taxonomy'=>'faqs_categories'
        // post_type isn't a valid argument, no matter how you use it.
        );
$categories = get_categories('taxonomy=faqs_categories&post_type=faqs'); ?>
<?php foreach ($categories as $category) : ?>
  <div class="faqs-cat"><?php echo $category->name; ?></div>
    <?php
    $postArgs = array(
        'orderby' => 'title',
        'order' => 'ASC',
        'post_type'=>'faqs',
        'cat'=>$category->cat_ID,
        'tax_query' => array(
                array(
                    'taxonomy' => 'faqs_categories'
                )
            )
        );
     query_posts($postArgs) ?>
    <ul>
         <?php while(have_posts()): the_post(); ?>
        <li><a><?php the_title() ?></a></li>
         <?php endwhile; ?>
    </ul>
<?php endforeach; ?>
<?php wp_reset_query();

Bearbeitete aber originale Quelle hier . Viel Glück, ich hoffe das hilft.

0
David