Bonjour tout le monde,
Je souhaiterais mettre en place pour un projet wordpress la possibilité de scroller vers le bas de ma page pour charger des articles supplémentaires.
Pour l'instant je fait cela avec un bouton pour simplifier les choses au départ.
Puis dans un fichier js mes fonctions :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 <a id="json_click_handler" href="#">Cliquez ici.</a> <div id="json_response_box"></div>
J'ai donc réussi a charger des post particulier, en fonction de leurs type (ici : portfolios_tuiles) avec ce bout de code :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26 jQuery(document).ready(function(){ jQuery('#json_click_handler').click(function(){ doAjaxRequest(); }); }); function doAjaxRequest(){ jQuery.ajax({ url: 'http://monsite.com//wp-admin/admin-ajax.php', data:{ 'action':'do_ajax', 'fn':'get_post_type', 'post_type':'portfolios_tuiles', 'count':10 }, dataType: 'JSON', success:function(data){ jQuery("#json_response_box").html(data); }, error: function(errorThrown){ alert('error'); console.log(errorThrown); } }); }
Code php : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32 add_action('wp_ajax_nopriv_do_ajax', 'our_ajax_function'); add_action('wp_ajax_do_ajax', 'notre_fonction_ajax'); function notre_fonction_ajax(){ // ici nous allons écrire ce que le serveur doit faire avec les données// ce switch lancera les fonctions selon la valeur qu'aura notre variable 'fn' switch($_REQUEST['fn']){ case 'get_post_type': $output = ajax_get_post_type($_REQUEST['post_type']); break; default: $output = 'No function specified, check your jQuery.ajax() call'; break; } // Maintenant nous allons transformer notre résultat en JSON et l'afficher $output=json_encode($output); if(is_array($output)){ print_r($output); } else{ echo $output; } die; } function ajax_get_post_type($post_type){ $posts = get_posts('post_type='.$post_type); return $posts; }
Le fait est que je voudrais aussi contrôler le nombre de post récupéré et aussi par la suite (si par exemple les 10 posts charger au debut au les ID 3030 à 3039) charger les 10 suivant (donc les ID 3040 à 3049).
J'ai donc besoin de mettre plusieurs paramètres à ma fonction ajax_get_post_type, car les data présente dans ma fonction doAjaxRequest (post_type et count) fonctionne indépendamment, je cherche donc à savoir quel serais la syntaxe pour changer $posts = get_posts('post_type='.$post_type); avec post_tpe et count...
J'a fait des essais avec un tableau...mais jene maîtrise pas la syntaxe je pense. j'ai fait quelques recherche et je tombe d'erreur en erreur, un petit coup de pouce serais le bienvenu =)
Partager