web-dev-qa-db-fra.com

Manière correcte d'afficher la taxonomie personnalisée pour les pièces jointes d'image dans un fichier de modèle

J'ai créé une taxonomie personnalisée appelée imagetags à l'aide du code suivant:

// Register Custom Taxonomy
function custom_imagetags_taxonomy()  {
$labels = array(
'name'                       => _x( 'Image Tags', 'Taxonomy General Name', 'text_domain' ),
'singular_name'              => _x( 'Image Tag', 'Taxonomy Singular Name', 'text_domain' ),
'menu_name'                  => __( 'Image Tags', 'text_domain' ),
'all_items'                  => __( 'All Image Tags', 'text_domain' ),
'parent_item'                => __( 'Parent Image Tag', 'text_domain' ),
'parent_item_colon'          => __( 'Parent Image Tag:', 'text_domain' ),
'new_item_name'              => __( 'New Image Tag', 'text_domain' ),
'add_new_item'               => __( 'Add New Image Tag', 'text_domain' ),
'edit_item'                  => __( 'Edit Image Tag', 'text_domain' ),
'update_item'                => __( 'Update Image Tag', 'text_domain' ),
'separate_items_with_commas' => __( 'Separate Image Tags with Commas', 'text_domain' ),
'search_items'               => __( 'Search Image Tags', 'text_domain' ),
'add_or_remove_items'        => __( 'Add or Remove Image Tags', 'text_domain' ),
'choose_from_most_used'      => __( 'Choose From Popular Image Tags', 'text_domain' ),
);

$rewrite = array(
'slug'                       => 'imagetags',
'with_front'                 => true,
'hierarchical'               => false,
);

$args = array(
'labels'                     => $labels,
'hierarchical'               => false,
'public'                     => true,
'show_ui'                    => true,
'show_admin_column'          => true,
'show_in_nav_menus'          => true,
'show_tagcloud'              => true,
'rewrite'                    => $rewrite,
);

register_taxonomy( 'imagetags', 'attachment', $args );
}

// Hook into the 'init' action
add_action( 'init', 'custom_imagetags_taxonomy', 0 );

J'essaie maintenant de créer une page de modèle pour afficher des images qui correspondent à un imagetag particulier.

J'ai commencé par nommer un fichier taxonomy-imagetags.php

Je suis coincé sur le type de boucle à utiliser.

J'ai essayé quelques-uns et rien n'a fonctionné.

J'apprécierais toute aide.

2
jw60660

Le problème concerne l'argument post_status de la requête par défaut générée pour vos termes de taxonomie. Si vous modifiez le statut via l'action pre_get_posts en inherit ou any, vous pouvez obtenir l'affichage des pièces jointes.

cependant - Est-ce la correctemoyen de le faire - honnêtement, je ne sais pas. Cela montrera les pièces jointes aux publications qui sont des brouillons, et peut-être privées. Je ne l'ai pas testé à fond, donc méfiez-vous .

Peut-être que quelqu'un d'autre peut ajouter plus de connaissances et d'informations.

function wpa82573_show_tax_attachments( $query ) {
    if ( $query->is_tax('imagetags') && $query->is_main_query() ) {
        $query->set( 'post_status', 'inherit' );
    }
}
add_action( 'pre_get_posts', 'wpa82573_show_tax_attachments' );
1
Milo

J'ai trouvé ce plugin. Bien que je n'ai pas enquêté, cela semble pouvoir résoudre mon problème. Media Tags Plugin .

0
jw60660