Bonjour,

J'ai une galerie de photos sous wordpress.
J'ai d'abord ajouté une pagination en suivant ce tutoriel :
http://blog.codebusters.pl/en/pagination-with-gallery-field-advanced-custom-fields/
puisque ma galerie est en fait composée de plusieurs champs galeries ACF que je mixe ensemble via des tableaux.

Cela fonctionne.

J'ai ensuite voulu ajouter une notion de catégories de photos. Donc je passe une variable catphotos dans mon template via :

    global $wp_query;
    $catpho = $wp_query->query_vars['catphotos'];

Je récupère bien ma variable, je la traite comme je veux dans mon plugin de fonctions et ça marche bien.
Comme j'ai voulu des url propres, j'ai suivi cet autre tuto :
http://www.wp-spread.com/amusons-nous-avec-lurl-rewriting-et-le-passage-de-parametres-vers-une-page-wordpress/

et cela marche... à moitié :
si je limite la réécriture d'url aux catégories cela fonctionne, mais je ne peux plus utiliser la pagination qui pointe sur 'pas de catégorie spécifique'.
Si j'essaie de réécrire proprement les 2 variables, à savoir la catégorie en premier (après la page bien sur) puis la pagination ensuite, ça ne marche pas :

global $wp_rewrite;
    add_rewrite_tag('%catphotos%','([^&]+)');
    add_rewrite_tag('%page%','([^&]+)');
    
    $wp_rewrite->add_rule('photos/([^/]+)/([^/]+)','index.php?pagename=photos&catphotos=$matches[1]&page=$matches[2]','top');

    $wp_rewrite->flush_rules();


Comme si je ne pouvais pas retoucher à la pagination car l'url rewriting de base de wordpress serait en conflit avec ce que je tente de lui ajouter.
D'ailleurs, si je tente de tester une url classique :

monsite.com/?pagename=photos&catphotos=les-chambres&page=1

Il me renvoie ici :

monsite.com/photos/?pagename=photos&catphotos=les-chambres

C'est à dire qu'il double la pagename et me vire la variable pagination (page).

Quelqu'un aurait-il une idée ?

Smiley sweatdrop

Edit : en désactivant la réécriture propre pour revenir à la standard, si je tape ceci dans mon navigateur cela fonctionne :


monsite.com/?pagename=photos&catphotos=les-chambres&page=2


Ce qui veut dire que c'est bien le code que je mets pour ajouter une règle d'écriture qui me plante l'ensemble...
Modifié par Manhattan (21 Apr 2016 - 18:00)
D'accord pour la page 1, mais ça devrait marcher pour la page 2...

Là j'ai plus rien qui marche, et j'ai beau recliquer sur l'enreg des permaliens il a perdu quelque-chose semble t-il...
Bon, j'avais une parenthèse qui était passée à l'as, donc j'ai retrouvé mon site mais cette simple redirection qui à la base marchait ne marche plus (page non trouvée ) :

Visible sous l'inspecteur de règles :
photos/([^/]+)/
<- index.php?pagename=photos&catphotos=$matches[1]

Smiley eek

Il veut absolument un numéro de page à la fin :
photos/les-chambres/1/
sinon c'est page non trouvée...
Modifié par Manhattan (21 Apr 2016 - 19:23)
Bon, pour résumer si jamais un bon samaritain passe dans le coin :

J'ai ceci :


    global $wp_rewrite;
    add_rewrite_tag('%catphotos%','([^&]+)');
    $wp_rewrite->add_rule('photos/([^/]+)','index.php?pagename=photos&catphotos=$matches[1]','top');

    $wp_rewrite->flush_rules();


Qui me permet sur ma page :
monsite.com/photos/
de naviguer entre les catégories que j'ai créées :
monsite.com/photos/les-chambres/
par exemple.

Mais je n'arrive pas à y intégrer ma pagination qui contient les bonnes valeurs de départ et d'arrivée en fonction de mes tableaux de photos, mais que je ne sais comment associer à l'url rewriting custom que je fais précédemment.


echo paginate_links(array(
        'base' => $permalienBase,
        'format' => '?page=%#%', 
        'current' => $pageCourante,
        'total' => $totalPages,
        'before_page_number' => '<span class="screen-reader-text">'.__('Page ','textdomain').' </span>'
    ));


J'ai l'impression que la solution ressemble ce post mais je n'y arrive pas :

http://wordpress.stackexchange.com/questions/62084/how-to-handle-paging-pagination-with-a-custom-permalink

Smiley sweatdrop
Modifié par Manhattan (21 Apr 2016 - 21:02)