Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
| webdev:wordpress:ajout_fonction_page_archive [14/04/2017 17:46] – dolo | webdev:wordpress:ajout_fonction_page_archive [18/10/2017 16:36] (Version actuelle) – dolo | ||
|---|---|---|---|
| Ligne 1: | Ligne 1: | ||
| + | ====== Ajouter un paramètre de tri custom à la page d' | ||
| + | [[https:// | ||
| + | < | ||
| + | <?php | ||
| + | class ArchiveFilter | ||
| + | { | ||
| + | public function __construct() | ||
| + | { | ||
| + | add_filter(' | ||
| + | add_action(' | ||
| + | add_action(' | ||
| + | return true; | ||
| + | } | ||
| + | public function realisation_queryvars ( $qvars ) | ||
| + | { | ||
| + | $qvars[] = ' | ||
| + | return $qvars; | ||
| + | } | ||
| + | |||
| + | public function realisation_pre_get_posts ( $query ) | ||
| + | { | ||
| + | if( is_admin() ) | ||
| + | { | ||
| + | return; // Pas touche aux requêtes en admin | ||
| + | } | ||
| + | |||
| + | // Si la variable realisation est passée dans l'url et qu' | ||
| + | if( isset($query-> | ||
| + | { | ||
| + | if($query-> | ||
| + | { | ||
| + | $query-> | ||
| + | $query-> | ||
| + | } | ||
| + | } | ||
| + | } | ||
| + | |||
| + | public function realisation_add_rewrite_rules ( $wp_rewrite ) | ||
| + | { | ||
| + | $new_rules = array( | ||
| + | ' | ||
| + | ' | ||
| + | ' | ||
| + | ' | ||
| + | ); | ||
| + | |||
| + | // Add the new rewrite rule into the top of the global rules array | ||
| + | $wp_rewrite-> | ||
| + | } | ||
| + | } | ||
| + | |||
| + | </ | ||
| + | |||
| + | ==== Note sur le REGEX ==== | ||
| + | [[http:// | ||
| + | |||
| + | Pour faire ça : | ||
| + | <code linenums> | ||
| + | ' | ||
| + | |||
| + | // ... | ||
| + | |||
| + | $st_slug = explode( '/', | ||
| + | </ | ||