Récupère les liens paginés pour les pages de post d'archive.

Description

Techniquement, cette fonction peut être utilisée pour créer une liste de liens paginés pour n'importe quelle zone. L'argument 'base' est utilisé pour référencer l'url, qui sera utilisée pour créer les liens paginés. L'argument 'format' est ensuite utilisé pour remplacer le numéro de page. Il est cependant probable, et par défaut, d'être utilisé sur les pages de post d'archive.

L'argument 'type' contrôle le format de la valeur retournée. La valeur par défaut est 'plain', qui est juste une chaîne de caractères avec les liens séparés par un caractère de nouvelle ligne. Les autres valeurs possibles sont soit 'array', soit 'list'. La valeur "array" renvoie un tableau de la liste de liens paginés pour offrir un contrôle total de l'affichage. La valeur 'list' placera tous les liens paginés dans une liste HTML non ordonnée.

L'argument 'total' est la quantité totale de pages et est un nombre entier. La valeur 'current' est le numéro de la page actuelle et est également un nombre entier.

Un exemple de l'argument 'base' est "http://example.com/all_posts.php%_%" et le '%_%' est requis. Le '%_%' sera remplacé par le contenu de dans l'argument 'format'. Un exemple de l'argument "format" est "?page=%#%" et le "%#%" est également requis. Le '%#%' sera remplacé par le numéro de la page.

Vous pouvez inclure les liens précédents et suivants dans la liste en définissant l'argument 'prev_next' à true, ce qu'il est par défaut. Vous pouvez définir le texte précédent, en utilisant l'argument 'prev_text'. Vous pouvez définir le texte suivant en définissant l'argument 'next_text'.

Si l'argument 'show_all' est défini à true, alors il montrera toutes les pages au lieu d'une courte liste des pages proches de la page actuelle. Par défaut, l'argument 'show_all' est défini sur false et contrôlé par les arguments 'end_size' et 'mid_size'. L'argument 'end_size' est le nombre de numéros sur les bords de la liste de début et de fin, par défaut 1. L'argument 'mid_size' est le nombre de numéros de chaque côté de la page actuelle, mais sans inclure la page actuelle.

Il est possible d'ajouter des vars de requête au lien en utilisant l'argument 'add_args' et voir add_query_arg() pour plus d'informations.

Les arguments 'before_page_number' et 'after_page_number' permettent aux utilisateurs de compléter les liens eux-mêmes. Il peut s'agir d'ajouter un contexte aux liens numérotés afin que les utilisateurs de lecteurs d'écran comprennent à quoi servent ces liens. Les chaînes de texte sont ajoutées avant et après le numéro de page - au sein de la balise d'ancrage.

Paramètres

$args

(chaîne de caractères|tableau)(Facultatif)Tableau ou chaîne d'arguments pour la génération de liens paginés pour les archives.

  • 'base'
    (chaîne de caractères) Base de l'url paginée.
  • 'format'
    (chaîne de caractères) Format de la structure de pagination.
  • 'total'
    (int) La quantité totale de pages. La valeur par défaut est celle de WP_Query. max_num_pages ou 1.
  • 'actuel'
    (int) Le numéro de la page actuelle. La valeur par défaut est 'paged' query var ou 1.
  • aria_current
    (chaîne de caractères) La valeur de l'attribut aria-current. Les valeurs possibles sont 'page', 'step', 'location', 'date', 'time', 'true', 'false'. La valeur par défaut est 'page'.
  • 'show_all'
    (bool) Si l'on veut afficher toutes les pages. Par défaut, false.
  • 'taille_finale
    (int) Combien de numéros sur les bords de la liste de début et de fin. Par défaut 1.
  • 'taille_moyenne' (mid_size)
    (int) Combien de numéros de part et d'autre des pages actuelles. Par défaut 2.
  • prev_suivant
    (bool) Si l'on veut inclure les liens précédents et suivants dans la liste. Par défaut, true.
  • 'prev_text'
    (bool) Le texte de la page précédente. Par défaut, '" précédent ".
  • 'texte_suivant'
    (bool) Le texte de la page suivante. Par défaut, 'Next "'.
  • Type
    (chaîne de caractères) Contrôle le format de la valeur renvoyée. Les valeurs possibles sont 'plain', 'array' et 'list'. La valeur par défaut est 'plain'.
  • 'add_args'
    (tableau) Un tableau d'arguments de requête à ajouter. Par défaut, false.
  • 'add_fragment'
    (chaîne de caractères) Une chaîne de caractères à ajouter à chaque lien.
  • 'numéro_de_page_avant'
    (chaîne de caractères) Une chaîne de caractères qui doit apparaître avant le numéro de page.
  • 'après_numéro_de_page'
    (chaîne de caractères) Une chaîne de caractères à ajouter après le numéro de page.

Valeur par défaut : ''

Retour

(chaîne|tableau|void) Chaîne de liens de pages ou tableau de liens de pages, selon l'argument 'type'. Nul si le nombre total de pages est inférieur à 2.

Source

Fichier : wp-includes/general-template.php

functionpaginate_links($args=''){global$wp_query,$wp_rewrite;// Setting up default values based on the current URL.$pagenum_link=html_entity_decode(get_pagenum_link());$url_parts=explode('?',$pagenum_link);// Get max pages and current page out of the current query, if available.$total=isset($wp_query->max_num_pages)?$wp_query->max_num_pages:1;$current=get_query_var('paged')?(int)get_query_var('paged'):1;// Append the format placeholder to the base URL.$pagenum_link=trailingslashit($url_parts[0]).'%_%';// URL base depends on permalink settings.$format=$wp_rewrite->using_index_permalinks()&&!strpos($pagenum_link,'index.php')?'index.php/':'';$format.=$wp_rewrite->using_permalinks()?user_trailingslashit($wp_rewrite->pagination_base.'/%#%','paged'):'?paged=%#%';$defaults=array('base'=>$pagenum_link,// http://example.com/all_posts.php%_% : %_% is replaced by format (below).'format'=>$format,// ?page=%#% : %#% is replaced by the page number.'total'=>$total,'current'=>$current,'aria_current'=>'page','show_all'=>false,'prev_next'=>true,'prev_text'=>__('« Previous'),'next_text'=>__('Next »'),'end_size'=>1,'mid_size'=>2,'type'=>'plain','add_args'=>array(),// Array of query args to add.'add_fragment'=>'','before_page_number'=>'','after_page_number'=>'',);$args=wp_parse_args($args,$defaults);if(!is_array($args['add_args'])){$args['add_args']=array();}// Merge additional query vars found in the original URL into 'add_args' array.if(isset($url_parts[1])){// Find the format argument.$format=explode('?',str_replace('%_%',$args['format'],$args['base']));$format_query=isset($format[1])?$format[1]:'';wp_parse_str($format_query,$format_args);// Find the query args of the requested URL.wp_parse_str($url_parts[1],$url_query_args);// Remove the format argument from the array of query arguments, to avoid overwriting custom format.foreach($format_argsas$format_arg=>$format_arg_value){unset($url_query_args[$format_arg]);}$args['add_args']=array_merge($args['add_args'],urlencode_deep($url_query_args));}// Who knows what else people pass in $args.$total=(int)$args['total'];if($total<2){return;}$current=(int)$args['current'];$end_size=(int)$args['end_size'];// Out of bounds? Make it the default.if($end_size<1){$end_size=1;}$mid_size=(int)$args['mid_size'];if($mid_size<0){$mid_size=2;}$add_args=$args['add_args'];$r='';$page_links=array();$dots=false;if($args['prev_next']&&$current&&1<$current):$link=str_replace('%_%',2==$current?'':$args['format'],$args['base']);$link=str_replace('%#%',$current-1,$link);if($add_args){$link=add_query_arg($add_args,$link);}$link.=$args['add_fragment'];$page_links[]=sprintf('%s',/**
			 * Filters the paginated links for the given archive pages.
			 *
			 * @since 3.0.0
			 *
			 * @param string $link The paginated link URL.
			 */esc_url(apply_filters('paginate_links',$link)),$args['prev_text']);endif;for($n=1;$n<=$total;$n++):if($n==$current):$page_links[]=sprintf('%s',esc_attr($args['aria_current']),$args['before_page_number'].number_format_i18n($n).$args['after_page_number']);$dots=true;else:if($args['show_all']||($n<=$end_size||($current&&$n>=$current-$mid_size&&$n<=$current+$mid_size)||$n>$total-$end_size)):$link=str_replace('%_%',1==$n?'':$args['format'],$args['base']);$link=str_replace('%#%',$n,$link);if($add_args){$link=add_query_arg($add_args,$link);}$link.=$args['add_fragment'];$page_links[]=sprintf('%s',/** This filter is documented in wp-includes/general-template.php */esc_url(apply_filters('paginate_links',$link)),$args['before_page_number'].number_format_i18n($n).$args['after_page_number']);$dots=true;elseif($dots&&!$args['show_all']):$page_links[]=''.__('…').'';$dots=false;endif;endif;endfor;if($args['prev_next']&&$current&&$current<$total):$link=str_replace('%_%',$args['format'],$args['base']);$link=str_replace('%#%',$current+1,$link);if($add_args){$link=add_query_arg($add_args,$link);}$link.=$args['add_fragment'];$page_links[]=sprintf('%s',/** This filter is documented in wp-includes/general-template.php */esc_url(apply_filters('paginate_links',$link)),$args['next_text']);endif;switch($args['type']){case'array':return$page_links;case'list':$r.="
    nt
  • ";$r.=implode("
  • nt
  • ",$page_links);$r.="
  • n
n"
;break;default:$r=implode("n",$page_links);break;}/** * Filters the HTML output of paginated links for archives. * * @since 5.7.0 * * @param string $r HTML output. * @param array $args An array of arguments. See paginate_links() * for information on accepted arguments. */$r=apply_filters('paginate_links_output',$r,$args);return$r;}

Related

Utilise

Utilisations Description
wp-includes/general-template.php : pagination_liens_sortie

Filtre la sortie HTML des liens paginés pour les archives.

wp-includes/l10n.php : __()

Récupère la traduction de $text.

wp-includes/formatting.php : wp_parse_str()

Analyse une chaîne de caractères en variables à stocker dans un tableau.

wp-includes/formatting.php : esc_url()

Vérifie et nettoie une URL.

wp-includes/formatting.php : esc_attr()

Échappement pour les attributs HTML.

wp-includes/formatting.php : trailingslashit()

Ajoute une barre oblique de fin de ligne.

wp-includes/formatting.php : urlencode_deep()

Navigue dans un tableau, un objet ou un scalaire, et encode les valeurs à utiliser dans une URL.

wp-includes/general-template.php : paginer_liens

Filtre les liens paginés pour les pages d'archives données.

wp-includes/query.php : get_query_var()

Récupère la valeur d'une variable de requête dans la classe WP_Query.

wp-includes/functions.php : wp_parse_args()

Fusionne les arguments définis par l'utilisateur dans le tableau defaults.

wp-includes/functions.php : add_query_arg()

Récupère une chaîne de requête d'URL modifiée.

wp-includes/functions.php : nombre_format_i18n()

Convertit un nombre flottant en format basé sur la locale.

wp-includes/link-template.php : get_pagenum_link()

Récupère le lien pour un numéro de page.

wp-includes/link-template.php : utilisateur_trailingslashit()

Récupère une chaîne de caractères avec barre oblique de fin si le site est configuré pour ajouter des barres obliques de fin.

wp-includes/plugin.php : apply_filters()

Appelle les fonctions de rappel qui ont été ajoutées à un crochet de filtre.

wp-includes/class-wp-rewrite.php : WP_Rewrite::using_index_permalinks()

Détermine si les permaliens sont utilisés et si le module de réécriture n'est pas activé.

wp-includes/class-wp-rewrite.php : WP_Rewrite::using_permalinks()

Détermine si les permaliens sont utilisés.

Utilisé par

Utilisé par Description
wp-includes/link-template.php : get_the_posts_pagination()

Récupère une navigation paginée vers le jeu de posts suivant/précédent, le cas échéant.

wp-admin/includes/deprecated.php : WP_User_Search::do_paging()

Gère la pagination pour la requête de recherche de l'utilisateur.

wp-admin/includes/media.php : media_upload_library_form()

Produit le formulaire de téléchargement de médias hérités pour la bibliothèque de médias.

wp-admin/includes/nav-menu.php : wp_nav_menu_item_post_type_meta_box()

Affiche une boîte méta pour un élément de menu de type post.

wp-admin/includes/nav-menu.php : wp_nav_menu_item_taxonomy_meta_box()

Affiche une boîte méta pour un élément de menu de taxonomie.

wp-includes/link-template.php : paginate_comments_links()

Affiche ou récupère les liens de pagination pour les commentaires de l'article courant.

Changelog

Version Description
4.9.0 Ajouté le aria_current argument.
2.1.0 Introduit.