Comment créer une fonction comme the_tags() ou the_category() dans wordpress ?
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.
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.
0 commentaire