- Statut : non résolu
- Ce sujet contient 13 réponses, 6 participants et a été mis à jour pour la dernière fois par
dlo, le il y a 13 années et 2 mois.
-
AuteurMessages
-
22 juin 2007 à 15 h 41 min #452742
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
23 juin 2007 à 10 h 05 min #603543Oh en voila un plugin qui va être apprécier par beaucoup d’utilisateurs 🙂
Pour l’instant pas encore de suggestion ni de feedback …
23 juin 2007 à 13 h 01 min #603544C’est une chose qui devrait être proposé sur le trac de WP.org si je peux me permettre 🙂
3 septembre 2007 à 12 h 39 min #603545Ben alors, la page n’est plus accessible ??
4 septembre 2007 à 10 h 08 min #603546Fran6 wrote:Ben alors, la page n’est plus accessible ??Si, si, elle est à nouveau disponible. C’était juste une plaisanterie habituelle de Free !
7 septembre 2007 à 22 h 31 min #603547Cela fonctionne parfaitement !
Merci5 novembre 2007 à 20 h 29 min #603548Bonjour, 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 :<a href="” title=””>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, 105. Que dois-je faire?
D’avance merci.
Sébastien5 novembre 2007 à 20 h 56 min #603549Re-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.
S6 novembre 2007 à 11 h 47 min #603550Xtended 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
6 novembre 2007 à 20 h 05 min #603551Merci 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.
S7 novembre 2007 à 11 h 16 min #603552@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 :
0 ) $newwhere = ” AND $wpdb->term_taxonomy.term_id IN ($in_cats) AND $wpdb->term_taxonomy.taxonomy = ‘category’ “; } } return $where.$newwhere; } function extendedCatJoin($join) { global $wpdb; $catop = strtoupper(get_query_var(‘xop’)); $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; $catop = strtoupper(get_query_var(‘xop’)); $cats = get_query_var(‘xcat’); $having = ”; if (($catop != ”) && ($cats != ”)) { if ((!empty($cats)) && ($cats != ‘0’)) { $cats = ”.urldecode($cats).”; $cats = addslashes_gpc($cats); $cat_array = preg_split(‘/[,s]+/’, $cats); $cat_number = count($cat_array); if ($catop == “AND”) $having = ” HAVING postnbr = $cat_number “; if ($catop == “OR”) $having = ” HAVING postnbr posts}.ID”; } } return $groupby.$having; } function extendedCatFields($fields) { global $wpdb; $catop = strtoupper(get_query_var(‘xop’)); $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 :
/* 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 <p></p> 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
7 novembre 2007 à 11 h 32 min #603553Génial et merci pour ton temps. Je vais tester tout cela. Encore merci.S
🍺7 novembre 2007 à 16 h 16 min #603554@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
S7 novembre 2007 à 16 h 30 min #603555sebix wrote:un grand merci cela fonctionne parfaitementYoupiii, chouette et toutes ces sortes de choses !!!! 😋
Y’a pas d’quoi…. et Happy blogging, comme on dit en français.😉
-
AuteurMessages
- Le forum ‘Dépôts pour les extensions, trucs, astuces’ est fermé à de nouveaux sujets et réponses.