Vous n'êtes pas identifié.
Annonce
Annonce 1 : Le Codex en français a besoin de vous pour avancer !
Annonce 2 : Avant de poster, n'oubliez pas de faire une petite Recherche et de lire les règles de ce forum.
Pages: 1
- Index
- » [Depôts] Extensions, Trucs, Astuces
- » Nouvelle fonctionalité de sélection des articles avec query_posts()
#1 22-06-2007 17:41:34
- dlo
- Blogodépendant

- Date d'inscription: 10-04-2007
- Messages: 1418
Nouvelle fonctionalité de sélection des articles avec query_posts()
Bonjour,
Je viens de mettre en ligne une extension des possibilités de sélection de la fonction query_posts().
Avec ce développement, il est maintenant possible d'utiliser des opérateurs logiques pour combiner la liste de catégories qui sert de sélection.
Exemple:
Vous voulez récupérer tous les articles qui appartiennent à la fois à la catégorie 1 et 5 ? C'est possible avec Xtended Category Selection !
Vous voulez isoler les articles qui appartiennent soit à la catégorie 1, soit à la catégorie 5 mais pas aux deux en même temps ? C'est encore possible avec Xtended Category Selection !
Toute remarque ou suggestion d'amélioration est la bienvenue...
Cordialement,
Edit: Le développement n'est plus maintenu et incompatible depuis la version 2.3 de WordPress
Dernière modification par dlo (07-11-2007 09:13:43)
Non, je ne suis pas blogodépendant... C'est juste que je n'ai toujours pas trouvé la sortie de ce forum !
Hors ligne
#2 23-06-2007 12:05:26
Re: Nouvelle fonctionalité de sélection des articles avec query_posts()
Oh en voila un plugin qui va être apprécier par beaucoup d'utilisateurs 
Pour l'instant pas encore de suggestion ni de feedback ...
Hors ligne
#3 23-06-2007 15:01:38
Re: Nouvelle fonctionalité de sélection des articles avec query_posts()
C'est une chose qui devrait être proposé sur le trac de WP.org si je peux me permettre 
Mais vous savez, je crois pas qu'il y ait de bon ou mauvais blog... Enfin si je devais résumer ma vie aujourd'hui avec vous, je dirais que c'est d'abord des rencontres, des blogs qui m'ont tendu la main peut être à un moment où je ne pouvais pas, où j'étais seul chez moi.

WP-Box: Travailler avec un spécialiste des technologies WordPress !
Hors ligne
#5 04-09-2007 12:08:42
- dlo
- Blogodépendant

- Date d'inscription: 10-04-2007
- Messages: 1418
Re: Nouvelle fonctionalité de sélection des articles avec query_posts()
Fran6 a écrit:
Ben alors, la page n'est plus accessible ??
Si, si, elle est à nouveau disponible. C'était juste une plaisanterie habituelle de Free ! 
Non, je ne suis pas blogodépendant... C'est juste que je n'ai toujours pas trouvé la sortie de ce forum !
Hors ligne
#6 08-09-2007 00:31:58
- Mogore
- Membre WP
- Date d'inscription: 20-08-2007
- Messages: 3
Re: Nouvelle fonctionalité de sélection des articles avec query_posts()
Cela fonctionne parfaitement !
Merci
Hors ligne
#7 05-11-2007 21:29:32
- sebix
- Membre WP
- Date d'inscription: 05-11-2007
- Messages: 6
Re: Nouvelle fonctionalité de sélection des articles avec query_posts()
Bonjour, je n'arrive pas à faire le faire fonctionner. Pouvez-vous m'aider? J'utilise wordpress 2.3.1.
1. j'ai bien copié le code dans functions.php en racine de mon theme
2. j'ai essayé de modifier mon fichier cathegorie-12.php avec ce code (attention je ne suis pas doué en programmation, je suis certain que cela doit venir de faute de syntaxe)
3. voici le code :<?php query_posts("xcat=1,12&xop=AND"); ?>
<?php if (have_posts()) : while (have_posts()) : the_post(); ?>
<div class="Box"><a href="<?php the_permalink(); ?>" title="<?php the_title(); ?>"><?php the_title(); ?></a><small><?php the_time(' j F Y') ?></small></div>
<?php endwhile; else: ?>
<p><?php _e('Sorry, no posts matched your criteria.','CodexMagnus'); ?></p>
<?php endif; ?>
4. Voici le message d'erreur que j'ai :[Table 'sebyan_sebgastromome.wp_post2cat' doesn't exist]
SELECT SQL_CALC_FOUND_ROWS wp_posts.*, COUNT(*) as postnbr FROM wp_posts LEFT JOIN wp_post2cat ON (wp_posts.ID = wp_post2cat.post_id) WHERE 1=1 AND post_type = 'post' AND (post_status = 'publish' OR post_status = 'private') AND wp_post2cat.category_id IN (1, 12) GROUP BY wp_posts.ID HAVING postnbr = 2 ORDER BY post_date DESC LIMIT 0, 10
5. Que dois-je faire?
D'avance merci.
Sébastien
Dernière modification par sebix (05-11-2007 21:30:11)
Hors ligne
#8 05-11-2007 21:56:32
- sebix
- Membre WP
- Date d'inscription: 05-11-2007
- Messages: 6
Re: Nouvelle fonctionalité de sélection des articles avec query_posts()
Re-Bonsoir, je cherche, et visiblement cela devrait venir du code de ce 'plug-in' http://wordpress.org/support/topic/135564?replies=75
non?
Merci pour votre aide.
S
Hors ligne
#9 06-11-2007 12:47:36
- dlo
- Blogodépendant

- Date d'inscription: 10-04-2007
- Messages: 1418
Re: Nouvelle fonctionalité de sélection des articles avec query_posts()
Xtended Category Selection n'est pas compatible avec la version 2.3.X de WordPress.
WordPress n'utilise plus la table post2cat comme dans les versions antérieures, ce qui fait que XCS ne fonctionne plus car lui l'utilise encore ! 
Je ne suis pas du tout sûr de continuer à supporter ce développement qui était surtout destiné à satisfaire un besoin d'un membre du forum. En plus, je n'ai pas trop le temps en ce moment... 
Si quelqu'un d'autre veut bien se plonger dans le code, il n'y a aucun problème.
Cordialement
Non, je ne suis pas blogodépendant... C'est juste que je n'ai toujours pas trouvé la sortie de ce forum !
Hors ligne
#10 06-11-2007 21:05:58
- sebix
- Membre WP
- Date d'inscription: 05-11-2007
- Messages: 6
Re: Nouvelle fonctionalité de sélection des articles avec query_posts()
Merci pour ta réponse. Est-ce qu'il existe une autre methode pour arriver au meme resultat? C'est a dire pourvoir afficher tous les 'posts' de Category A et de Category B?
D'avance merci pour votre aide.
S
Hors ligne
#11 07-11-2007 12:16:45
- dlo
- Blogodépendant

- Date d'inscription: 10-04-2007
- Messages: 1418
Re: Nouvelle fonctionalité de sélection des articles avec query_posts()
@sebix: Vu que cela à l'air de te manquer vraiment, j'ai fait une rapide adaptation de Xtended Category Selection pour le rendre compatible avec la version 2.3 de WordPress. Je n'ai pas testé alors attention ! 
C'est maintenant un plugin et voici le code :
Code: php
- <?php
- /*
- Plugin Name: Xtended Category Selection
- Plugin URI:
- Description: Xtended Category Selection gives you the opportunity to use logical operators to combine categories during the selection of posts to display. It's an extension of function "query_posts()" possibilities.
- Version: 0.4.1
- Author: Didier Lorphelin
- Author URI: http://didier.lorphelin.free.fr/blog/index.php/
- */
- function extendedCatSelection($where) {
- global $wpdb;
- $newwhere = '';
- $cats = get_query_var('xcat');
- if (($catop != '') && ($cats != '')) {
- $cats = addslashes_gpc($cats);
- $in_cats = '';
- foreach ( $cat_array as $cat ) {
- $in_cats .= "$cat, ";
- }
- $newwhere = " AND $wpdb->term_taxonomy.term_id IN ($in_cats) AND $wpdb->term_taxonomy.taxonomy = 'category' ";
- }
- }
- return $where.$newwhere;
- }
- function extendedCatJoin($join) {
- global $wpdb;
- $cats = get_query_var('xcat');
- $newjoin = '';
- if (($catop != '') && ($cats != '') && ($join == ''))
- $newjoin = " LEFT JOIN $wpdb->term_relationships ON ($wpdb->posts.ID = $wpdb->term_relationships.object_id) LEFT JOIN $wpdb->term_taxonomy ON ($wpdb->term_relationships.term_taxonomy_id = $wpdb->term_taxonomy.term_taxonomy_id) ";
- return $join.$newjoin;
- }
- function extendedCatGroupBy($groupby) {
- global $wpdb;
- $cats = get_query_var('xcat');
- $having = '';
- if (($catop != '') && ($cats != '')) {
- $cats = addslashes_gpc($cats);
- if ($catop == "AND")
- $having = " HAVING postnbr = $cat_number ";
- if ($catop == "OR")
- $having = " HAVING postnbr <= $cat_number ";
- if ($catop == "XOR")
- $having = " HAVING postnbr = 1 ";
- $groupby = "{$wpdb->posts}.ID";
- }
- }
- return $groupby.$having;
- }
- function extendedCatFields($fields) {
- global $wpdb;
- $cats = get_query_var('xcat');
- $countrows = '';
- if (($catop != '') && ($cats != '')) {
- $countrows = ", COUNT(*) as postnbr ";
- }
- return $fields.$countrows;
- }
- add_filter('posts_where','extendedCatSelection');
- add_filter('posts_join', 'extendedCatJoin');
- add_filter('posts_groupby', 'extendedCatGroupBy');
- add_filter('posts_fields', 'extendedCatFields');
- ?>
Et voici le mode d'emploi :
Code: txt
- /*
- Plugin Name: Extended Category Selection
- Plugin URI: http://didier.lorphelin.free.fr/blog/index.php/
- Description: Xtended Category Selection gives you the opportunity to use logical operators to combine categories during the selection of posts to display. It's an extension of function "query_posts()" possibilities.
- Version: 0.4.1
- Author: Didier Lorphelin
- Author URI: http://didier.lorphelin.free.fr/blog/index.php/
- */
- 1. A quoi ça sert ?
- Xtended Category Selection permet d'utiliser les opérateurs logiques pour combiner les catégories retenues lors de la sélection des articles à afficher. C'est une extension des possibilités de la fonction "query_posts()".
- 2. Prérequis
- WordPress: Xtended Category Selection requiert l'utilisation de WP 2.3 (ou supérieur). Il est compatible avec toutes les versions de WordPress jusqu'à la dernière (2.3.1).
- 3. Installation
- Télécharger le fichier compressé.
- Décompresser et copier tous les fichiers dans le répertoire du thème auquel on rajoute l'extension de sélection des catégories.
- Si le thème utilisé possède déjà un fichier functions.php, recopier le contenu du fichier XtendedCat.php dans le fichier functions.php. Sinon renommer le fichier XtendedCat.php en functions.php.
- Modifier les fichiers concernés du thème pour y ajouter un query_post() avec les nouveaux paramètres.
- (Note: En cas de mise à jour d'une version antérieure, écraser simplement les fichiers existants avec les nouveaux.)
- 4. Documentation
- Après installation du fichier, deux paramètres supplémentaires sont disponibles dans la fonction "query_posts" pour combiner entre elles les catégories à sélectionner.
- Paramètres :
- xcat: liste des catégories séparée par une virgule
- xop: Opérateur logique à appliquer à la liste xcat
- Valeurs possibles:
- AND : l'article doit appartenir à toutes les catégories listées.
- OR : l'article doit appartenir à une des catégories listées.
- XOR : l'article doit appartenir à une et une seule des catégories listée.
- Cela s'utilise donc comme ceci :
- Code: php
- // JE NE VEUX QUE LES ARTICLES APPARTENANT A LA FOIS A LA CATEGORIE 1 ET 5
- <?php query_posts("xcat=1,5&xop=AND"); ?>
- <?php if (have_posts()) : while (have_posts()) : the_post(); ?>
- <?php // ajouter le code d'affichage des articles ?>
- <?php endwhile; else: ?>
- <p><?php _e('Sorry, no posts matched your criteria.','CodexMagnus'); ?></p>
- <?php endif; ?>
- ATTENTION: Ne pas utiliser le paramètre cat et xcat en même temps. Le résultat risque d'être imprévisible.
En espérant que cela puisse te servir.
Cordialement
Non, je ne suis pas blogodépendant... C'est juste que je n'ai toujours pas trouvé la sortie de ce forum !
Hors ligne
#12 07-11-2007 12:32:54
- sebix
- Membre WP
- Date d'inscription: 05-11-2007
- Messages: 6
Re: Nouvelle fonctionalité de sélection des articles avec query_posts()
Génial et merci pour ton temps. Je vais tester tout cela. Encore merci.S

Hors ligne
#13 07-11-2007 17:16:41
- sebix
- Membre WP
- Date d'inscription: 05-11-2007
- Messages: 6
Re: Nouvelle fonctionalité de sélection des articles avec query_posts()
@dlo
un grand merci cea fonctionne parfaitement, j'espere finalisé mon site et être le meilleur exemple pour illustrer cette fonction manquante à l'API de wordpress.
Encore merci vous venez de faire un heureux 
Cordialement
S
Hors ligne
#14 07-11-2007 17:30:12
- dlo
- Blogodépendant

- Date d'inscription: 10-04-2007
- Messages: 1418
Re: Nouvelle fonctionalité de sélection des articles avec query_posts()
sebix a écrit:
un grand merci cela fonctionne parfaitement
Youpiii, chouette et toutes ces sortes de choses !!!! 
Y'a pas d'quoi.... et Happy blogging, comme on dit en français.
Non, je ne suis pas blogodépendant... C'est juste que je n'ai toujours pas trouvé la sortie de ce forum !
Hors ligne
Pages: 1
- Index
- » [Depôts] Extensions, Trucs, Astuces
- » Nouvelle fonctionalité de sélection des articles avec query_posts()








