Annonce

Important : WordPress 2.6.1 est disponible en français. À lire avant la migration !
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.
Annonce 3 : Lisez notre blog, il regorge de bonnes informations.

#1 29-05-2008 02:58:24

nico5555
Membre WP
Date d'inscription: 29-05-2008
Messages: 8

Diviser mon site en 3 à l'aide des catégories. HELP :(

Bonjour,

Ma configuration WP actuelle
- Version de WordPress : Wordpress 2.5.1
- Thème utilisé : Textback by Amy & Pink
- Plugins en place : Full-text Feed, Digg pagination
- Nom de l'hebergeur : 1&1
- Adresse du site : www.nicolasduprat.com

Problème(s) rencontré(s) :

Tout d'abord bonjour à tous pour mon premier post sur le forum. J'ai fait des recherches et lu attentivement le codex de wordpress cependant après de multiple tentative je reste un peu dans l'impasse. Alors voici le résultat que je recherche et dans quel état se trouve le code aujourd'hui.

RESULTAT RECHERCHE :

Un site divisé en trois parties.

Portfolio:
J'utilise ici les posts pour afficher les photos du portfolio et uniquement les photos. Cette partie sera ensuite divisé en sous catégories.
Il n'y a pas d'archive et pas de single post ici. Le but étant simplement de parcourir les images rapidement.
Cette catégorie sera également ma page d'accueil.

Blog:
Comme son nom l'indique le blog. Il regroupe tout les posts du blogs et je dois être capable d'afficher les archives de celui-ci sans afficher les "posts utilisés" pour le contenu des deux autres parties.

Photoblog:
Propose des images via une interface de photoblog classique, et je dois donc pouvoir également proposer une page d'archive réserver à l'affichage des photos de celui-ci.

Le but étant d'avoir une présentation différente pour les trois parties.




Le code tel qu'il est actuellement:

category-4 = portfolio
category-3 = blog
category-5 = photoblog

J'ai modifié index.php pour afficher uniquement le portfolio:

Code:

  1. <?php get_header(); ?>
  2.  
  3. <div id="portfolio"><div id="portfolio_container">
  4.  
  5. <div id="hello2">
  6.   <!--index.php-->
  7.  
  8.   <?php if (have_posts()) : ?>
  9.                 <?php query_posts('cat=4'); ?>
  10.     <?php while (have_posts()) : the_post(); ?>
  11.  
  12.           <div id="portfolio_image"><?php the_content(); ?></div>
  13.  
  14.     <?php endwhile; ?>
  15.  
  16.                 <?php next_posts_link('&laquo; Previous Entries') ?>
  17.     <?php previous_posts_link('Next Entries &raquo;') ?>
  18.  
  19.   <!--do not delete-->
  20.   <?php else : ?>
  21.     Not Found
  22.     Sorry, but you are looking for something that isn't here.
  23.     <?php include (TEMPLATEPATH . "/searchform.php"); ?>
  24.         <!--do not delete-->
  25.   <?php endif; ?>
  26.  
  27.   </div></div>
  28.  
  29. <!--index.php end-->
  30. <!--include footer-->
  31. <?php get_footer(); ?>
  32. </li>

Mais j'ai rencontré différents problèmes et aujourd'hui il affiche les mêmes images sur toutes les pages de la catégorie.

Voici le code de category-3.php pour le blog:

Code:

  1. <?php get_header(); ?>
  2. <div id="hello"><div id="content"><div class="month"><h3 class="monthheader">Have we lost freedom?</h3>
  3. <div id="hello2">
  4.   <!--category-3.php BLOG-->
  5.         <!--the loop-->
  6.   <?php if (have_posts()) : ?>
  7.     <!--the loop-->
  8.     <?php while (have_posts()) : the_post(); ?>
  9.  
  10.       <!--post title as a link-->
  11.       <h2><a href="<?php the_permalink() ?>" rel="bookmark" title="<?php the_title(); ?>"><?php the_title(); ?></a></h2> 
  12.        
  13.         <!--post text with the read more link-->
  14.           <div id="text"><?php the_content('Read the rest of this entry &raquo;'); ?></div>
  15.         <!--show categories, edit link ,comments-->
  16.    
  17.         <div id="under"><?php the_time('F j, Y'); ?> | <?php comments_popup_link('0 comments &#187;', '1 comment &#187;', '% comments &#187;'); ?></div>
  18.  
  19.           <!--end of one post-->
  20.     <?php endwhile; ?>
  21.  
  22.     <!--navigation-->
  23.                 <?php next_posts_link('&laquo; Previous Entries') ?>
  24.     <?php previous_posts_link('Next Entries &raquo;') ?>
  25.    
  26.   <!--do not delete-->
  27.   <?php else : ?>
  28.  
  29.     Not Found
  30.     Sorry, but you are looking for something that isn't here.
  31.     <?php include (TEMPLATEPATH . "/searchform.php"); ?>
  32.         <!--do not delete-->
  33.   <?php endif; ?>
  34.  
  35.   </div></div></div></div>
  36.  
  37. <!--index.php end-->
  38. <!--include sidebar-->
  39. <?php get_sidebar(); ?>
  40. <!--include footer-->
  41. <?php get_footer(); ?>
  42. </li>

Et je suis incapable d'afficher les archives correctement pour celui-ci (nota: elles ne fonctionnent pas du tout actuellement.)

J'appelle les liens pour les archives de la sorte dans ma sidebar du blog:

Code:

  1. <?php wp_get_archives('type=monthly&limit=6'); ?>

Il n'existe actuellement PAS de fichier archive.php et/ou archives.php. J'ai pourtant fait des essais mais sans succès.


Après différentes tentatives je suis bloqué dans l'avancement de mon site sur ces premières problématiques concernant l'utilisation que je veux en faire.

Je vous remercie à tous d'avance pour votre aide.

Hors ligne

 

#2 29-05-2008 12:10:12

Comme une image
Burpeur Wordpress
Lieu: Paris (enfin presque)
Date d'inscription: 30-01-2008
Messages: 1539
Site web

Re: Diviser mon site en 3 à l'aide des catégories. HELP :(

Je me demande si tu ne devrais pas inverser ces deux lignes :
<?php if (have_posts()) : ?>
<?php query_posts('cat=4'); ?>

La logique, c'est de demander (query !) ce qu'on veut voir avant de vérifier s'il y a quelque chose (have ?).

Ensuite, il faudrait que tu te reportes dans la codex à la hiérarchie des modèles (recherche).
index.php est le fichier de base, qui sert si les autres sont absents. Donc, si tu n'as pas de fichier archives.php, c'est ton index.php trafiqué wink qui va être utilisé.

Je te suggère donc :
1/ de transformer ton index.php en home.php (avec la correction suggérée)
2/ de rétablir ton index.php


Outils de base : Firefox+Firebug, Google-est-mon-ami™, Notepad++. Avec ça, on règle 78,24% des problèmes wink
Pour aller plus loin : Côt côt codex FR EN ! WAMP/LAMP/MAMP

« On paie mal un maître en ne restant toujours que l'élève. » — F. Nietzsche

Hors ligne

 

#3 29-05-2008 20:54:04

nico5555
Membre WP
Date d'inscription: 29-05-2008
Messages: 8

Re: Diviser mon site en 3 à l'aide des catégories. HELP :(

Tout d'abord merci pour ton aide.

J'ai donc créer home.php
Avec l'ancien code de l'index.php trafiqué :

Code:

  1. <?php get_header(); ?>
  2.  
  3. <div id="portfolio"><div id="portfolio_container">
  4.  
  5. <div id="hello2">
  6.   <!--home.php-->
  7.         <?php query_posts('cat=4'); ?>
  8.   <?php if (have_posts()) : ?>
  9.     <?php while (have_posts()) : the_post(); ?>
  10.  
  11.           <div id="portfolio_image"><?php the_content(); ?></div>
  12.  
  13.     <?php endwhile; ?>
  14.  
  15.                 <?php next_posts_link('&laquo; Previous Entries') ?>
  16.     <?php previous_posts_link('Next Entries &raquo;') ?>
  17.  
  18.   <!--do not delete-->
  19.   <?php else : ?>
  20.     Not Found
  21.     Sorry, but you are looking for something that isn't here.
  22.     <?php include (TEMPLATEPATH . "/searchform.php"); ?>
  23.         <!--do not delete-->
  24.   <?php endif; ?>
  25.  
  26.   </div></div>
  27.  
  28. <!--index.php end-->
  29. <!--include footer-->
  30. <?php get_footer(); ?>
  31. </li>

J'ai modifié l'index.php pour revenir à l'état "initial" :

Code:

  1. <?php get_header(); ?>
  2. <div id="hello"><div id="content"><div class="month"><h3 class="monthheader">Have we lost freedom?</h3>
  3. <div id="hello2">
  4.   <!--index.php-->
  5.         <!--the loop-->
  6.         <?php query_posts('cat=3'); ?>
  7.   <?php if (have_posts()) : ?>
  8.     <!--the loop-->
  9.     <?php while (have_posts()) : the_post(); ?>
  10.        
  11.       <!--post title as a link-->
  12.       <h2><a href="<?php the_permalink() ?>" rel="bookmark" title="<?php the_title(); ?>"><?php the_title(); ?></a></h2>
  13.        
  14.         <!--post text with the read more link-->
  15.           <div id="text"><?php the_content('Read the rest of this entry &raquo;'); ?></div>
  16.         <!--show categories, edit link ,comments-->
  17.    
  18.         <div id="under"><?php the_time('F j, Y'); ?> | <?php comments_popup_link('0 comments &#187;', '1 comment &#187;', '% comments &#187;'); ?></div>
  19.      
  20.           <!--end of one post-->
  21.     <?php endwhile; ?>
  22.  
  23.     <!--navigation-->
  24.                 <?php next_posts_link('&laquo; Previous Entries') ?>
  25.     <?php previous_posts_link('Next Entries &raquo;') ?>
  26.    
  27.   <!--do not delete-->
  28.   <?php else : ?>
  29.  
  30.     Not Found
  31.     Sorry, but you are looking for something that isn't here.
  32.     <?php include (TEMPLATEPATH . "/searchform.php"); ?>
  33.         <!--do not delete-->
  34.   <?php endif; ?>
  35.  
  36.   </div></div></div></div>
  37.  
  38. <!--index.php end-->
  39. <!--include sidebar-->
  40. <?php get_sidebar(); ?>
  41. <!--include footer-->
  42. <?php get_footer(); ?>
  43. </li>

Les problèmes sont maintenant les suivants:
- Pour l'home si je navigue à travers les pages j'ai toujours les mêmes images (posts) affochées.
- Pour les archives j'ai également toujours les mêmes posts et même des posts d'une autre catégorie que la 3.

J'ai remarqué que si je supprime le fichier catégory-3.php j'ai également la catégorie 5 qui vient s'insérer sur la page, mais pas les  photos de la catégories 4...


Je pense que le problème vient du <?php query_posts('cat=4'); ?> et le <?php query_posts('cat=3'); ?>

Puisque je rencontre un problème équivalent sur les deux pages.

Hors ligne

 

#4 29-05-2008 22:37:00

Comme une image
Burpeur Wordpress
Lieu: Paris (enfin presque)
Date d'inscription: 30-01-2008
Messages: 1539
Site web

Re: Diviser mon site en 3 à l'aide des catégories. HELP :(

L'article lu ici [EN] confirme que query_post() est bien à appeler avant The Loop....
C'est toujours ça de pris.


Le problème du filtrage des catégories est, je crois, un bug de la v2.5 qui devrait être corrigé en 2.5.2
Tu peux trouver un patch ici : http://trac.wordpress.org/ticket/6551
(je ne l'ai pas testé)


Outils de base : Firefox+Firebug, Google-est-mon-ami™, Notepad++. Avec ça, on règle 78,24% des problèmes wink
Pour aller plus loin : Côt côt codex FR EN ! WAMP/LAMP/MAMP

« On paie mal un maître en ne restant toujours que l'élève. » — F. Nietzsche

Hors ligne

 

#5 30-05-2008 00:45:36

nico5555
Membre WP
Date d'inscription: 29-05-2008
Messages: 8

Re: Diviser mon site en 3 à l'aide des catégories. HELP :(

Ah effectivement, de plus le patch ne règle pas le soucis à 100%.

Je pense que je vais downgrader vers la 2.3.3 demain.

Hors ligne

 

#6 30-05-2008 11:40:20

nico5555
Membre WP
Date d'inscription: 29-05-2008
Messages: 8

Re: Diviser mon site en 3 à l'aide des catégories. HELP :(

Après test avec la 2.3 et maintenant la 2.2.1 (version avant le changement profond de wordpress) et bien j'ai toujours le même bug !! Alors que je pensais ne plus le rencontrer avec une version antérieur à la 2.3
Je n'ai pas changé le code par rapport au post précédent. Actuellement c'est la 2.2.1 qui tourne sur le site.
Bref le désespoir sad

Hors ligne

 

#7 30-05-2008 18:39:33

jmini
Expert WP
Date d'inscription: 01-05-2008
Messages: 223

Re: Diviser mon site en 3 à l'aide des catégories. HELP :(

Ca fait plusieurs fois que je viens lire ce post :

1- La version 2.2.1 n'est vraiment pas sécurisée de nos jours.

2- ensuite, je ne pense pas que cela puisse marcher comme tu le décris... Les archives elles mélanges toutes les catégories et tous les tags... et je doute que tu arrives à filtré cela -> même en remétant un query_post() juste avant la boucle (ce query_post relance une recherche et ne filtre pas parmi les articles qui auraient du s'afficher -- ou alors j'ai raté un truc)

En gros chacune des 3 pages d'accueil de parties correspondent à des pages de catégories... (elles affichent les N derniers messages de cette catégorie). Ce que tu peux facilement faire c'est avec la pagination de wp avoir l'affichage des messages de N à 2N de 2N à 3N...

C'est ce qui se produit par défaut quand tu cliques sur "messages plus ancien" en bas d'une page de catégorie et cela correspond à "paged=__" dans query_post()

Hors ligne

 

#8 30-05-2008 20:43:55

nico5555
Membre WP
Date d'inscription: 29-05-2008
Messages: 8

Re: Diviser mon site en 3 à l'aide des catégories. HELP :(

jmini a écrit:

En gros chacune des 3 pages d'accueil de parties correspondent à des pages de catégories... (elles affichent les N derniers messages de cette catégorie). Ce que tu peux facilement faire c'est avec la pagination de wp avoir l'affichage des messages de N à 2N de 2N à 3N...

C'est ce qui se produit par défaut quand tu cliques sur "messages plus ancien" en bas d'une page de catégorie et cela correspond à "paged=__" dans query_post()

Je ne comprends pas très bien ce que tu veux dire avec les N 2N et 3N. Les afficher en fonction d'un ordre de postage ? Parce que sur le long terme les posts seront croisés au niveau des dates, toute catégorie pourra être mise à jour à tout moment.

Sinon j'ai regardé du côté des thèmes magazines si je ne trouvais pas de réponse dans leur code.
Il y a un plugin que j'avais trouvé pour afficher un thème par catégorie.
Dès que j'ai un peu de temps je vais repasser en 2.5.1 et mettre ce plugin et voir si les archives seront séparées ou non.
Mais si cela fonctionne je trouve cette méthode un peu lourde, j'aurai préféré trouvé une solution au niveau du code.

Hors ligne

 

#9 31-05-2008 10:06:51

jmini
Expert WP
Date d'inscription: 01-05-2008
Messages: 223

Re: Diviser mon site en 3 à l'aide des catégories. HELP :(

Si tu as choisi d'afficher 10 post par page :
Il est possible d'afficher dans une page de catégories les 10 derniers message (par défaut quand tu arrives dessus) mais aussi les message de 11 à 20, de 21 à 30 et ainsi de suite... [joue en quelque sorte le rôle d'archive]


Bon revenons à ton pb que je comprends de moins en moins :
- avoir un thème par catégorie ?
- disposer de page d'archives séparée par catégorie ?
- ...

Je suppose que tu considères que 3 blogs c'est un petit peu trop pour ce que tu veux faire.

Hors ligne

 

#10 31-05-2008 15:47:35

nico5555
Membre WP
Date d'inscription: 29-05-2008
Messages: 8

Re: Diviser mon site en 3 à l'aide des catégories. HELP :(

Effectivement trois installations de wordpress résoudraient le problème.

Ce que je veux avoir c'est trois parties distinctes, qui ne s'affichent pas "ensemble" lors de la navigation, c'est à dire sur les pages et dans les archives. Comme je l'avais expliqué dans mon premier post

J'aurai un truc un peu comme ça:

Portfolio
sous-catégorie-portfolio-1 sous-catégorie-portfolio-2 sous-catégorie-portfolio-3 sous-catégorie-portfolio-4 etc...

Pas d'archives pour le portfolio, la navigation se faisant juste par sous-catégorie-portfolio et ensuite tu passes de page ne page par catégorie pour voir les images.

Blog
sous-catégorie-blog-1 sous-catégorie-blog-2 sous-catégorie-blog-3 etc...

Se comportant comme un blog classique avec les derniers posts sur la page blog, la possibilité de naviguer par sous-catégorie du blog et de parcourir les archives.

Photoblog
Se comportant comme un photoblog classique avec une seule image affichée la possibilité de naviguer par sous-catégorie du photoblog et une page d'archives pour celui-ci.


Chacune des trois parties ayant des légèrement différences au niveau de l'affichage. Mais le problème pour le moment est surtout de pouvoir les séparer.

Hors ligne

 

#11 02-06-2008 13:43:43

jmini
Expert WP
Date d'inscription: 01-05-2008
Messages: 223

Re: Diviser mon site en 3 à l'aide des catégories. HELP :(

Le truc qui est facile à faire :

La navigation par catégorie et dans les sous-catégorie...
Tu as suffisamment de fonction qui portent sur les catégories pour pouvoir modifier ton template category.php

Tu crée tes 3 catégories principales : (1:Portfolio, 2:Blog, 3:Photoblog)
- wp_list_categories(parameters) : va te permettre de faire tes menus de navigations pour afficher les sous-catégories : avec le parametre child_of : wp_list_categories('child_of=1') pour ton menu de navigation de Portfolio.
http://codex.wordpress.org/Template_Tag … categories
Voir aussi : get_categories(parameters)
http://codex.wordpress.org/Function_Ref … categories

- cat_is_ancestor_of(cat1, cat2)
Te permet de tester si tu es une catégorie fille (tu test si tu est une fille de Portfolio par exemple, et dans ce cas tu affiche le menu de navigation de Portfolio)
http://codex.wordpress.org/Function_Ref … ncestor_of

Ca règle ton pb pour tes menus de navigation de Portfolio, Blog et Photoblog... avec les sous catégories.

-----

Pour la page d'index du blog : tu demandes l'affichage par un query_post() de la catégorie du blog... Le truc c'est que si il y a des sous-catégorie au blog, il faut que tu commence par chercher l'ID de ces sous-catégories (avec get_categories()) avant de pouvoir lancer ta query_post()...

Une solution ici serait peut être de ranger les posts du blog avec des Tags...

--------
La ou tu es vraiment coincé c'est pour l'affichage des archives et des résultats de recherche... Je ne vois pas trop comment tu peux instaurer des limites (mais c'est peut être possible après tout)

Ce que tu peux faire facilement dans la boucle (the_loop) d'affichage des messages c'est pour chaque message faire un traitement différent en fonction de la catégorie. (ex : si c'est du Blog afficher le début de l'article, si c'est du portfolio afficher juste un lien vers l'article avec une petite icone signalant que c'est du portefolio et idem avec Photoblog).

Hors ligne

 

#12 07-06-2008 03:41:17

nico5555
Membre WP
Date d'inscription: 29-05-2008
Messages: 8

Re: Diviser mon site en 3 à l'aide des catégories. HELP :(

Je fais une petite recherche sur les forums de wordpress.org afin de trouver des réponses mais ces derniers jours j'ai pas mal été pris.

Sinon concernant ta réponse je risque de retomber sur le même problème avec le query_post, mais j'ai pu voir que de nombreuses personnes ont un problème avec cette fonction.
Je n'ai pas encore essayé d'écrire le code pour les sous-catégories.

Mais j'ai trouvé ces plugins que je n'ai pas encore testé:
http://wordpress.org/extend/plugins/cat … n/#post-53

http://wordpress.org/extend/plugins/my- … #post-5005

http://wordpress.org/extend/plugins/art … #post-4677

http://wordpress.org/extend/plugins/cat … #post-2323


Et sinon ce post que j'ai parcouru rapidement:
http://wordpress.org/support/topic/125555

Je vais me repencher sur la question d'ici lundi.

Hors ligne

 

#13 14-06-2008 05:00:36

nico5555
Membre WP
Date d'inscription: 29-05-2008
Messages: 8

Re: Diviser mon site en 3 à l'aide des catégories. HELP :(

Premièrement le code correct pour exclure les catégories est le suivant:

Code:

  1. <?php
  2. $page = (get_query_var('paged')) ? get_query_var('paged') : 1;
  3. query_posts("cat=3&showposts=5&paged=$page"); ?>

Maintenant plus de problème avec la page d'accueil et les next & prev. J'ai inclu ce code dans mon home.php et tout roule.

Il n'y a aucun tri dans mon index.php à l'heure actuelle.

Ensuite j'ai l'impression que mon problème n'est pas là ou je le pensais...

Pour le moment j'ai décidé par soucis de simplicité et pour faire les choses pas étapes de m'occuper juste de ma page Portfolio et de ma page Blog.

Mon lien pour blog est le suivant:

http://www.nicolasduprat.com/blog

Cependant les prev et next ne fonctionne plus. Seuls les post de la catégorie blog sont appelés suite à l'url utilisée.

Par contre si j'entre l'url :
http://www.nicolasduprat.com/category/blog

Alors il n'y a plus de problème.
J'utilise la structure suivant pour les  permalinks:

/%category%/%postname%

J'ai donc plusieurs trucs qui me chiffonne:
- le lien .com/blog fonctionne pour une page mais pas si je veux cliquer sur previous post.( il y avait donc déjà un problème à ce niveau là.)
- le lien .com/category/blog est ok  malgré mes permalinks, j'ai donc une duplication de contenu et en plus je peux faire .com/category/portfolio et là c'est le drame car une fois ces tests finis j'ai un css différent pour le portfolio et le blog. Et j'utilise juste wordpress comme backend pour aussi gérer le portfolio en même temps que le blog...

Je vais jeter un oeil du côté des plugins SEO peut-etre qu'un peu de trafic sur les urls changerait tout ça...

Hors ligne

 

Pied de page des forums

Propulsé par PunBB 1.2.20
© Copyright 2005-2006 WordPress France