Comment créer une fonction comme the_tags() ou the_category() dans wordpress ?

Publié par Jean-Michel le

J’ai créé une méta-boîte pour la publication, nommée « Ressource » où je peux sélectionner une valeur à partir d’un élément de sélection prédéfini dans le backend. Et après l’avoir enregistré, il s’affiche dans le frontend. S’il vous plaît voir les images.

Back-end

L'extrémité avant

Maintenant, je veux que cela fonctionne comme les balises, l’auteur et les catégories. Lorsque je clique dessus, tous les messages sélectionnés avec la même valeur s’affichent. Mais ne sais pas par où commencer.

J’ai utilisé le plugin Meta Box et j’ai fait les codes suivants dansfunction.php

add_filter( 'rwmb_meta_boxes', 'resource_meta_box' );
function resource_meta_box( $meta_boxes ) {
    
    $meta_boxes[] = array(
        'id'         => 'resource_box',
        'title'      => esc_html__( 'Resource' ),
        'post_types' => array( 'post' ),
        'context'    => 'side',
        'priority'   => 'high',
        'autosave'   => true,

        // List of meta fields
        'fields'     => array(
            // RESOURCE BOX
            array(
                'name'        => esc_html__( '' ),
                'id'          => "resource",
                'type'        => 'select',
                // Array of 'value' => 'Label' pairs for select box
                'options'     => array(
                    'Item 1' => esc_html__( 'Item 1' ),
                    'Item 2' => esc_html__( 'Item 2' ),
                    'Item 3' => esc_html__( 'Item 3' ),
                    'Item 4' => esc_html__( 'Item 4' ),
                    'Item 5' => esc_html__( 'Item 5' ),
                ),
                // Placeholder of Select.
                'placeholder' => esc_html__( 'None' )
            )
        )
    );
    return $meta_boxes;
}

et le code suivant où il fallait montrer<?php echo rwmb_meta( 'resource'); ?>

Merci d’avance.

Solution n°1 trouvée

vous devriez opter pour une taxonomie personnalisée, car elle contient les fonctionnalités dont vous avez besoin. collez le code donné ci-dessous dans votre fichier functions.php de thème. entrez le code ici

$labels = array(
    'name'                       => _x( 'Resources', 'taxonomy general name', 'textdomain' ),
    'singular_name'              => _x( 'Resource', 'taxonomy singular name', 'textdomain' ),
    'search_items'               => __( 'Search Resources', 'textdomain' ),
    'popular_items'              => __( 'Popular Resources', 'textdomain' ),
    'all_items'                  => __( 'All Resources', 'textdomain' ),
    'parent_item'                => null,
    'parent_item_colon'          => null,
    'edit_item'                  => __( 'Edit Resource', 'textdomain' ),
    'update_item'                => __( 'Update WResource', 'textdomain' ),
    'add_new_item'               => __( 'Add New Resource', 'textdomain' ),
    'new_item_name'              => __( 'New Resource Name', 'textdomain' ),
    'separate_items_with_commas' => __( 'Separate Resources with commas', 'textdomain' ),
    'add_or_remove_items'        => __( 'Add or remove Resources', 'textdomain' ),
    'choose_from_most_used'      => __( 'Choose from the most used Resources', 'textdomain' ),
    'not_found'                  => __( 'No Resources found.', 'textdomain' ),
    'menu_name'                  => __( 'Resources', 'textdomain' ),
);

$args = array(
    'hierarchical'          => true,
    'labels'                => $labels,
    'show_ui'               => true,
    'show_admin_column'     => true,
    'update_count_callback' => '_update_post_term_count',
    'query_var'             => true,
    'rewrite'               => array( 'slug' => 'resource' ),
);

register_taxonomy( 'resource', 'your-post-type-slug', $args );

remplacez le texte ‘your-post-type-slug’ par le slug de type de publication (par exemple ‘post’ pour les publications ou ‘page’ pour les pages, etc.) du type de publication auquel vous souhaitez associer la taxonomie.

puis utilisez le code ci-dessous pour récupérer tous les termes créés sous la taxonomie ‘ressource’

get_terms( 'resource', array(
    'hide_empty' => false,
) );

créez un fichier de modèle, taxonomy-resource.php à partir de archive.php pour afficher la liste des publications filtrées (par la taxonomie nouvellement ajoutée).

utiliser the_terms(get_the_ID(),'resource', $before, $sep, $after );pour afficher les ressources sélectionnées pour un message spécifique à l’intérieur de la boucle.

Catégories : Wordpress

Jean-Michel

Jean-Michel est en charge de la partie blog du site. Il met en place la stratégie de contenu et répond aux questions fréquentes sur Wordpress.

0 commentaire

Laisser un commentaire

Avatar placeholder

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *