web-dev-qa-db-fra.com

Paramétrage de la pagination pour les images jointes à un message

J'essaie de comprendre comment paginer un message pour ses images. J'ai un type de message personnalisé configuré pour agir comme une galerie - images uniquement. Et voudrait paginer les images. J'ai de la difficulté à essayer de savoir par où commencer.

J'utilise get_posts () dans la boucle pour obtenir les images jointes à la publication. Je voudrais le configurer afin que 30 images s'affichent par page.

Une idée par où je devrais commencer? Ou dois-je modifier la manière dont cette fonctionnalité de galerie est configurée dans WP?

Merci d'avance!

2
dkmojo

Vous pouvez utiliser paginate_links() pour paginer la galerie totale. Cela dépend fortement de vos paramètres de permalien. Le mieux serait de vérifier d'autres réponses à ce sujet ici sur WPSE .

Suivant/Précédent publier des liens pour les pièces jointes.

Ensuite, il est également nécessaire de naviguer sur l’affichage d’une seule pièce jointe.

Fonction API/balise de modèle par défaut

Il y a la fonction adjacent_post_link() qui peut créer un lien vers le message précédent ou suivant - une pièce jointe est un message du type "pièce jointe". Il renvoie la sortie filtrée par

apply_filters( "{$adjacent}_post_link", $format, $link );

$adjacent est previous ou next.

Exemple

adjacent_post_link( 
     '%link'        // format
    ,'%date/%title' // link
    ,false          // in_same_cat
    ,''             // excluded_categories
    ,false          // next/previous (previous = true)
);

Détails intérieurs

Si le titre de la pièce jointe est vide, il est remplacé par le texte "Poste précédent/suivant". Ce titre a alors toutes les fonctions de rappel de filtre the_title attachées. Vous devrez les supprimer si vous ne voulez pas ceci:

function wpse66660_attachment_remove_title_cbs( $title, $id )
{
    is_attachment() AND remove_all_filters( current_filter() );

    return $title;
}
add_filter( 'the_title', 'wpse66660_attachment_remove_title_cbs', 100, 2 );

Mots clés

Comme vous l'avez vu ci-dessus ↑, il existe trois "balises" que vous pouvez utiliser: %link, %date et %title.

La sortie de la fonction ressemblerait à ceci:

'<a href="'.get_permalink($post).'" rel="prev/next">' . $link . '</a>'

Désormais, %title est remplacé par le titre de l'article et %date par la date de publication. Cela vous permet d'ajouter n'importe quelle valeur personnalisée à la balise HTML-anchor.

Le %link vous permet de remplacer tout ce qui se trouve dans la chaîne finale (HTML-ancre + lien + rel + valeur) par quelque chose de personnalisé qui s'aligne sur vos paramètres de permalien.

1
kaiser