it-swarm.com.de

wie erhalte ich Beiträge nach benutzerdefiniertem Beitragstyp und zeige dann benutzerdefinierte Felder an?

Ich habe benutzerdefinierte Beitragstypen für Rezepte und darin erweiterte benutzerdefinierte Felder (über das Plugin) eingerichtet.

Innerhalb dieses benutzerdefinierten Beitragstyps habe ich mehrere Kategorien. Zwei Fragen:

1.) Wie bekomme ich alle Posts aus einer benutzerdefinierten Kategorie? Ich erhalte Informationen zum Anzeigen der benutzerdefinierten Felder, bin mir jedoch nicht sicher, wie alle Beiträge einer benutzerdefinierten Kategorie aufgerufen werden sollen, und kann dann Titel, Bild und Link anzeigen.

2.) Besser ist es, in einem Szenario mit benutzerdefinierten Beitragstypen auch benutzerdefinierte Kategorien einzurichten oder die allgemeinen Beitragskategorien zu verwenden?

Ich habe die get_posts ausprobiert und dann versucht, Beiträge nach benutzerdefinierter Kategorie abzurufen. zum Beispiel

<?php
$args = array(
     'posts_per_page' => 8,
     'orderby' => 'Rand',
     'post_type' => 'recipes',
     'type' => 'side-dishes',
     'post_status' => 'publish'
);
$show_albums = get_posts( $args );
?>

Ich kenne die genaue Implementierung nicht, da post_type ein benutzerdefinierter Post ist und ich wahrscheinlich für jeden etwas tun müsste, um dann the_field (von ACF) zu verwenden.

================================================ ========= Ok Nachdem ich hier einen Vorschlag gemacht habe, bitte ich Sie, mich zu informieren, ob ich das richtig mache.

hier ist die Abfrage, die zu funktionieren scheint:

<?php

// The Query
$the_query = new WP_Query($args = array(
    'post_type' => 'recipes',
    'custom_cat' => 'side-dishes'
) );

// The Loop
if ( $the_query->have_posts() ) {
        echo '<ul>';
    while ( $the_query->have_posts() ) {
        $the_query->the_post();
        echo '<li>' . get_the_title() . '</li>';
    }
        echo '</ul>';
} else {
    // no posts found
}
/* Restore original Post Data */
wp_reset_postdata();?>

Ich habe die Taxonomie registriert, aber was mich verwirrt, ist, dass mein registrierter Post-Typ Rezepte ist und register_taxonomy nicht "Rezepte" und nicht "custom_cat" sein sollte.

register_taxonomy( 'custom_cat', 
        array('recipes'), /* if you change the name of register_post_type( 'custom_type', then you have to change this */
        array('hierarchical' => true,     /* if this is true, it acts like categories */
            'labels' => array(
                'name' => __( 'Recipe Categories', 'bonestheme' ), /* name of the custom taxonomy */
                'singular_name' => __( 'Recipe Category', 'bonestheme' ), /* single taxonomy name */
                'search_items' =>  __( 'Search Recipe Categories', 'bonestheme' ), /* search title for taxomony */
                'all_items' => __( 'All Recipe Categories', 'bonestheme' ), /* all title for taxonomies */
                'parent_item' => __( 'Parent Recipe Category', 'bonestheme' ), /* parent title for taxonomy */
                'parent_item_colon' => __( 'Parent Custom Category:', 'bonestheme' ), /* parent taxonomy title */
                'edit_item' => __( 'Edit Custom Category', 'bonestheme' ), /* edit custom taxonomy title */
                'update_item' => __( 'Update Custom Category', 'bonestheme' ), /* update title for taxonomy */
                'add_new_item' => __( 'Add New Custom Category', 'bonestheme' ), /* add new title for taxonomy */
                'new_item_name' => __( 'New Custom Category Name', 'bonestheme' ) /* name title for taxonomy */
            ),
            'show_admin_column' => true, 
            'show_ui' => true,
            'query_var' => true,
            'rewrite' => array( 'slug' => 'custom-slug' ),
        )
    );

hier ist der Typ des registrierten Beitrags:

function create_recipe() { 
    // creating (registering) the custom type 
    register_post_type( 'recipes', /* (http://codex.wordpress.org/Function_Reference/register_post_type) */
        // let's now add all the options for this post type
        array( 'labels' => array(
            'name' => __( 'Recipes', 'bonestheme' ), /* This is the Title of the Group */
            'singular_name' => __( 'Recipe', 'bonestheme' ), /* This is the individual type */
            'all_items' => __( 'All Recipes', 'bonestheme' ), /* the all items menu item */
            'add_new' => __( 'Add New Recipe', 'bonestheme' ), /* The add new menu item */
            'add_new_item' => __( 'Add Recipe', 'bonestheme' ), /* Add New Display Title */
            'edit' => __( 'Edit', 'bonestheme' ), /* Edit Dialog */
            'edit_item' => __( 'Edit Recipe', 'bonestheme' ), /* Edit Display Title */
            'new_item' => __( 'New Recipe Type', 'bonestheme' ), /* New Display Title */
            'view_item' => __( 'View Recipe', 'bonestheme' ), /* View Display Title */
            'search_items' => __( 'Search Recipes', 'bonestheme' ), /* Search Custom Type Title */ 
            'not_found' =>  __( 'Nothing found in the Database.', 'bonestheme' ), /* This displays if there are no entries yet */ 
            'not_found_in_trash' => __( 'Nothing found in Trash', 'bonestheme' ), /* This displays if there is nothing in the trash */
            'parent_item_colon' => ''
            ), /* end of arrays */
            'description' => __( "Recipes section for It's Just food", 'bonestheme' ), /* Custom Type Description */
            'public' => true,
            'publicly_queryable' => true,
            'exclude_from_search' => false,
            'show_ui' => true,
            'query_var' => true,
            'menu_position' => 4, /* this is what order you want it to appear in on the left hand side menu */ 
            'menu_icon' => get_stylesheet_directory_uri() . '/library/images/custom-post-icon.png', /* the icon for the custom post type menu */
            'rewrite'   => array( 'slug' => 'recipes', 'with_front' => false ), /* you can specify its url slug */
            'has_archive' => 'recipes', /* you can rename the slug here */
            'capability_type' => 'post',
            'hierarchical' => false,
            /* the next one is important, it tells what's enabled in the post editor */
            'supports' => array( 'title', 'editor', 'author', 'thumbnail', 'excerpt', 'trackbacks', 'custom-fields', 'comments', 'revisions', 'sticky')
        ) /* end of options */
    ); /* end of register post type */
4
user31344

Dies könnte eine gute Lektüre für Sie sein . Ich bin mir nicht sicher, was genau Sie tun möchten, daher werde ich dies in einem einfachen Format auslegen.

Bei dieser Abfrage werden alle Beiträge unter dem Beitragstyp recipes abgerufen, in dem das benutzerdefinierte Feld side-dishes vorhanden ist. Sie können sie dann durchlaufen und anzeigen, wie Sie möchten.

$recipes = new WP_Query(
    array(
        'post_type' => 'recipes',
        'posts_per_page' => 8,
        'orderby' => 'Rand',
        'post_status' => 'publish',
        'meta_query' => array(
            array(
                'key' => 'side-dishes'
                'compare' => 'EXISTS'
            )
        )
    )
);

Bei dieser zweiten Abfrage werden alle Posts unter der Taxonomie my_taxonomy_name_here abgerufen, die Sie durch Ihre Taxonomie ersetzen müssen. Es sucht nach Kategorien mit dem Slug my_category_slug_here, den Sie durch den Category Slug ersetzen müssen. Sie können "slug" durch ID ersetzen und es basierend darauf ziehen, wenn Sie möchten.

$recipes = new WP_Query(
    array(
        'post_type' => 'recipes',
        'posts_per_page' => 8,
        'orderby' => 'Rand',
        'post_status' => 'publish',
        'tax_query' => array(
            array(
                'taxonomy' => 'my_taxonomy_name_here',
                'field' => 'slug',
                'terms' => 'my_category_slug_here'
            )
        )
    )
);

Sie können dann jeden Beitrag wie eine normale Schleife durchlaufen:

<?php if($recipes->have_posts()) : ?>
    <?php while($recipes->have_posts()) : $recipes->the_post(); ?>
        <h1><?php the_title(); ?></h1>
        <?php the_content(); ?>
    <?php endwhile; ?>
<?php endif; wp_reset_query(); ?>

Dokumentation zu WP_Query

Dokumentation zu Meta_Query

Dokumentation zu Tax_Query

4
Howdy_McGee