it-swarm.com.de

Wie erstelle ich eine benutzerdefinierte Vorlage für eine benutzerdefinierte Taxonomie?

Im Folgenden wird beschrieben, wie ich einen benutzerdefinierten Beitragstyp und eine benutzerdefinierte Taxonomie erstellt habe.

Im Produktbereich habe ich die Kategorien "Monitore" & "Verbrauchsmaterialien" angelegt.

Ich habe dann das Template taxonomy-monitore.php erstellt, ist das für die Monitorkategorie richtig benannt? Welche URL muss ich auch besuchen, um nur die Monitorkategorie mit dieser Vorlage anzuzeigen?

add_action( 'init', 'create_post_type' );
function create_post_type() {
    register_post_type( 'products',
        array(
            'labels' => array(
                'name' => __( 'Products' ),
                'singular_name' => __( 'Product' )
            ),
        'capability_type' => 'post',
        'supports' => array('title','editor','comments'),   
        'public' => true,
        'has_archive' => true,
        'rewrite' => array( 'slug' => 'products' ),
        )
    );
}

function news_init() {
    // create a new taxonomy
    register_taxonomy(
        'products',
        'products',
        array(
            'label' => __( 'Product Categories' ),
            'sort' => true,
            'hierarchical' => true,
            'args' => array( 'orderby' => 'term_order' ),
            'rewrite' => array( 'slug' => 'products-category' )
        )
    );      
}
add_action( 'init', 'news_init' );

AKTUALISIEREN enter image description here

5
Rob

Vorlagen

In Template Hiearchy finden Sie eine detailliertere Beschreibung der Auswahl der Vorlage durch WordPress.

Für eine Taxonomiebegriffslug ("überwacht" Ihr Beispiel) in der Taxonomie taxonomy (z. B. "Produkte") wird WordPress versuchen die folgenden Vorlagen verwenden (in dieser Reihenfolge)

taxonomy-{taxonomy}-{slug}.php
taxonomy-{taxonomy}.php
taxonomy.php
archive.php
index.php

WordPress verwendet für Ihre Taxonomiebegriffseiten "Monitore"

taxonomy-products-monitors.php

if es existiert. Wenn dies nicht der Fall ist, wird für diese Taxonomie auf zurückgegriffen

taxonomy-products.php

und so weiter.

Permalinks

Die folgende URL sollte auf die Produktseite "Monitore" verweisen:

 www.example.com?products=monitors

Sie haben auch eine URL-Umschreibung angegeben. Unter der Annahme, dass die Umschreiberegeln gelöscht wurden und es keinen Konflikt gibt, sollte auch Folgendes funktionieren

 www.example.com/products-category/monitors
12
Stephen Harris

Referenz: https://stackoverflow.com/questions/33888951/wordpress-custom-post-type-taxonomy-template

 <?php 
get_header();


do_action('genesis_before_content_sidebar_wrap'); ?>

<div id="content-sidebar-wrap">
<?php do_action('genesis_before_content'); ?>

    <div class="wrap">
        <main class="content"> 
            <?php
                $case_study_cat_slug = get_queried_object()->slug;
                $case_study_cat_name = get_queried_object()->name;
            ?>
                <h2><?php echo $case_study_cat_name; ?></h2>
            <?php
                $al_tax_post_args = array(
                    'post_type' => 'success_stories', // Your Post type Name that You Registered
                    'posts_per_page' => 999,
                    'order' => 'ASC',
                    'tax_query' => array(
                        array(
                            'taxonomy' => 'success_stories_category',
                            'field' => 'slug',
                            'terms' => $case_study_cat_slug
                        )
                    )
                );
                $al_tax_post_qry = new WP_Query($al_tax_post_args);

                if($al_tax_post_qry->have_posts()) :
                   while($al_tax_post_qry->have_posts()) :
                        $al_tax_post_qry->the_post();
                        echo '<div class="post-excerpt">'; 
            ?>
                        <h2 class="entry-title" itemprop="headline"><a href="<?php the_permalink(); ?>" class="entry-title-link"><?php  the_title(); ?></a></h2>
                        <div class="entry-content"> <?php echo excerpt(35);  ?> </div>

                        </div>
            <?php
                    endwhile;
                    endif;

            ?>
        </main>         

    </div>  
</div>          

<?php

do_action('genesis_after_content_sidebar_wrap');
get_footer();
2
Rathna

Fügen Sie dazu den folgenden Code in die functions.php ein (im Theme-Ordner):

add_action( 'init', 'create_cw_hierarchical_taxonomy', 0 );
//create a custom taxonomy name
function create_cw_hierarchical_taxonomy() {
$labels = array(
'name' => _x( 'Topics', 'taxonomy general name' ),
'singular_name' => _x( 'Topic', 'taxonomy singular name' ),
'search_items' => __( 'Search Topics' ),
'all_items' => __( 'All Topics' ),
'parent_item' => __( 'Parent Topic' ),
'parent_item_colon' => __( 'Parent Topic:' ),
'edit_item' => __( 'Edit Topic' ),
'update_item' => __( 'Update Topic' ),
'add_new_item' => __( 'Add New Topic' ),
'new_item_name' => __( 'New Topic Name' ),
'menu_name' => __( 'Topics' ),
);
// taxonomy register
register_taxonomy('topics',array('post'), array(
'hierarchical' => true,
'labels' => $labels,
'show_ui' => true,
'show_admin_column' => true,
'query_var' => true,
'rewrite' => array( 'slug' => 'topic' ),
));
}

Ich habe es hier gefunden und hier habe ich gefunden, wie man eine nicht hierarchische Taxonomie erstellt https://www.wpblog.com/create-custom-taxonomies-in-wordpress/

0
Owais Alam