Annonce

Important : WordPress 2.5.1 est disponible.
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.

#1 23-04-2008 11:15:00

charled
Habitué WP
Date d'inscription: 11-12-2007
Messages: 66

Toujours mes catégories ;-)

Bonjour,

Ma configuration WP actuelle
- Version de WordPress : 2.5
- Thème utilisé : perso
- Plugins en place :
- Nom de l'hebergeur : ovh
- Adresse du site : http://lespaniersmarseillais.org

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

Bonjour,

Soit ma catégorie 5 - formations et mon template category-5.php.
S'il n'y a aucun post dans la catégorie, comment faire qu'il affiche un texte ("Pas de formations pour l'instant") au lieu de la page 404.php.

J'y arrivait avec les templates de page fixe avec le code suivant :
        <?php endwhile; else: ?>
    <p>Pas de formations pour l'instant. N'hésitez pas à revenir voir.</p>
    <?php endif; ?>

Ca ne semble pas fonctionner avec les templates de category.

Quelle est la solution svp ? Merci.

Hors ligne

 

#2 23-04-2008 11:22:46

dlo
Blogodépendant
Date d'inscription: 10-04-2007
Messages: 1329

Re: Toujours mes catégories ;-)

On peut voir le code du template en question ?


Non, je ne suis pas blogodépendant... C'est juste que je n'ai toujours pas trouvé la sortie de ce forum !

Hors ligne

 

#3 23-04-2008 11:24:46

charled
Habitué WP
Date d'inscription: 11-12-2007
Messages: 66

Re: Toujours mes catégories ;-)

Bien volontiers

Code:

  1. <?php get_header(); ?>
  2.  
  3. <div id="titre-contenu"><?php single_cat_title(); ?></div>
  4.  
  5. <div id="texte-contenu">
  6.  
  7.   <?php query_posts('category_name=formations&showposts='); ?>
  8.   <?php if(have_posts()) : ?><?php while(have_posts()): the_post(); ?>
  9.   <h2><?php the_title(); ?></h2>
  10.   <p><?php the_content(); ?></p>
  11.   <?php endwhile; else: ?>
  12.         <p>Pas de formations pour l'instant. Merci de revenir.</p>
  13.   <?php endif; ?>
  14.  
  15.  
  16. </div>
  17.  
  18. <?php get_footer(); ?>

Dernière modification par charled (23-04-2008 11:26:55)

Hors ligne

 

#4 23-04-2008 11:35:04

bmzoom
Maître WP
Lieu: No kill in freelance
Date d'inscription: 07-10-2006
Messages: 863

Re: Toujours mes catégories ;-)

Si un template dépend d'une catégorie 5 :

<?php if ( in_category(5) ) {

Voir ici :  http://codex.wordpress.org/fr:Marqueurs … n_category


:::
C’est le propre d’une âme magnanime de consulter les autres; une âme vulgaire se passe de conseils 
Dim 4 - http://bmil.free.fr/blog/ ::: Thème - http://www.wpthemesfree.com/ :::
Avec la barre d'icônes de ' google ' dans le navigateur  , il y a direct ' traduire la page en français ' . Plus d'excuse avec le ' british codex ' ::: http://codex.wordpress.org/

Hors ligne

 

#5 23-04-2008 11:40:11

dlo
Blogodépendant
Date d'inscription: 10-04-2007
Messages: 1329

Re: Toujours mes catégories ;-)

Humm, le code est bon. Par contre, avec quelle URL l'erreur 404 est-elle renvoyée ?


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 23-04-2008 11:44:25

charled
Habitué WP
Date d'inscription: 11-12-2007
Messages: 66

Re: Toujours mes catégories ;-)

bmzoom a écrit:

Si un template dépend d'une catégorie 5 :

<?php if ( in_category(5) ) {

Voir ici :  http://codex.wordpress.org/fr:Marqueurs … n_category

Désolé. Je ne saisis pas trop où est la solution à mon problème.

Hors ligne

 

#7 23-04-2008 11:49:11

charled
Habitué WP
Date d'inscription: 11-12-2007
Messages: 66

Re: Toujours mes catégories ;-)

dlo a écrit:

Humm, le code est bon. Par contre, avec quelle URL l'erreur 404 est-elle renvoyée ?

L'url qui appelle la page : http://localhost:8888/lpm/cat/formations/
J'ai mis /cat pour indiquer les catégories dans les prefs de permaliens.

Hors ligne

 

#8 23-04-2008 12:00:37

dlo
Blogodépendant
Date d'inscription: 10-04-2007
Messages: 1329

Re: Toujours mes catégories ;-)

As tu essayé l'URL http://localhost:8888/lpm/?cat=5 ? C'est juste pour voir, au cas où...


Non, je ne suis pas blogodépendant... C'est juste que je n'ai toujours pas trouvé la sortie de ce forum !

Hors ligne

 

#9 23-04-2008 12:31:11

charled
Habitué WP
Date d'inscription: 11-12-2007
Messages: 66

Re: Toujours mes catégories ;-)

dlo a écrit:

As tu essayé l'URL http://localhost:8888/lpm/?cat=5 ? C'est juste pour voir, au cas où...

Effectivement, ça fonctionne mais je suis obligé de revenir aux permaliens standards avec '?'. Je préfèrerai éviter.

Hors ligne

 

#10 23-04-2008 13:32:13

dlo
Blogodépendant
Date d'inscription: 10-04-2007
Messages: 1329

Re: Toujours mes catégories ;-)

Autre test: Est-ce que http://localhost:8888/lpm/category/formations/ fonctionne ?


Non, je ne suis pas blogodépendant... C'est juste que je n'ai toujours pas trouvé la sortie de ce forum !

Hors ligne

 

#11 23-04-2008 14:06:07

charled
Habitué WP
Date d'inscription: 11-12-2007
Messages: 66

Re: Toujours mes catégories ;-)

dlo a écrit:

Autre test: Est-ce que http://localhost:8888/lpm/category/formations/ fonctionne ?

Que je mette /cat ou /category, ça fonctionne tant qu'il y a des posts publiés dans la catégorie. Si aucun post n'est publié dans la catégorie (même s'ils existent), j'ai droit direct à la page d'erreur au lieu du message que j'ai placé après else : ?>.

Hors ligne

 

#12 23-04-2008 15:38:50

bmzoom
Maître WP
Lieu: No kill in freelance
Date d'inscription: 07-10-2006
Messages: 863

Re: Toujours mes catégories ;-)

Un template ne peut pas contrôler le contenu d'une catégorie . Il met en forme .

Il faut un post vide pour toute les catégories qui ne mettra pas le template en échec .


:::
C’est le propre d’une âme magnanime de consulter les autres; une âme vulgaire se passe de conseils 
Dim 4 - http://bmil.free.fr/blog/ ::: Thème - http://www.wpthemesfree.com/ :::
Avec la barre d'icônes de ' google ' dans le navigateur  , il y a direct ' traduire la page en français ' . Plus d'excuse avec le ' british codex ' ::: http://codex.wordpress.org/

Hors ligne

 

#13 23-04-2008 16:03:10

charled
Habitué WP
Date d'inscription: 11-12-2007
Messages: 66

Re: Toujours mes catégories ;-)

bmzoom a écrit:

Un template ne peut pas contrôler le contenu d'une catégorie . Il met en forme .
Il faut un post vide pour toute les catégories qui ne mettra pas le template en échec .

Comme je l'indiquait dans un autre post, la version actuellement en ligne du site (http://lespaniersmarseillais.org) repose uniquement sur des pages fixes. Chaque page a son template histoire de pouvoir personnaliser le titre et éventuellement un texte d'intro.

Ainsi, les pages actualité, formations, adhérents, documentation et Fête des Paniers sont des pages fixes vides (mis à part le titre), ayant chacune leur propre template dans lequel j'appelle la boucle pour faire afficher les posts des catégories correspondantes.

Avec ce système, mon texte de remplacement (...else : ?> <p>texte de remplacement</p><?php endif; ?>) fonctionne correctement.

En réétudiant le système wp, je me suis aperçu qu'il aurait peut-être mieux valu utiliser des templates de catégories histoire de ne pas créer des pages vides dans la bdd. Mais au final, pour l'instant, ça me complique plus les choses notamment en cas d'absence de post.

Je ne comprend pas bien pourquoi le else qui fonctionne dans les temp de pages ne fonctionne plus dans les temp de catégories.

Et la solution que tu proposes d'un post vide (est-ce possible de ne même pas mettre de titre ?) me parait relever aussi du bricolage.

Donc, le temps m'étant compté, je préfère en rester à ma solution initiale même si elle est probablement moins élégante.

Ceci étant, je serai heureux de continuer à recevoir vos conseils sur ce pb pour comprendre ce qui ne fonctionne  pas bien et pourquoi, afin de faire, peut-être, mieux la prochaine fois.

Hors ligne

 

#14 23-04-2008 18:09:07

bmzoom
Maître WP
Lieu: No kill in freelance
Date d'inscription: 07-10-2006
Messages: 863

Re: Toujours mes catégories ;-)

afin de faire, peut-être, mieux la prochaine fois.

Le template de catégorie dans une page pour afficher des catégories , n'est pas la solution naturelle .

http://domaine/up.php/?cat=9 , liste tous les post de la catégorie 9

Un lien url suffit , alors en plus passer par une page qui est statique ( de naissance ) ,  est superflu ... wink

Dernière modification par bmzoom (23-04-2008 18:09:46)


:::
C’est le propre d’une âme magnanime de consulter les autres; une âme vulgaire se passe de conseils 
Dim 4 - http://bmil.free.fr/blog/ ::: Thème - http://www.wpthemesfree.com/ :::
Avec la barre d'icônes de ' google ' dans le navigateur  , il y a direct ' traduire la page en français ' . Plus d'excuse avec le ' british codex ' ::: http://codex.wordpress.org/

Hors ligne

 

#15 23-04-2008 18:32:03

charled
Habitué WP
Date d'inscription: 11-12-2007
Messages: 66

Re: Toujours mes catégories ;-)

bmzoom a écrit:

afin de faire, peut-être, mieux la prochaine fois.

Le template de catégorie dans une page pour afficher des catégories , n'est pas la solution naturelle .

http://domaine/up.php/?cat=9 , liste tous les post de la catégorie 9

Un lien url suffit , alors en plus passer par une page qui est statique ( de naissance ) ,  est superflu ... wink

Je ne comprend pas bien le détail de ce que tu dis bien que je pense qu'on dise la même chose.

Mon site n'est pas un blog mais plutôt un site dont certaines pages sont dynamiques… J'ai donc besoin que les utilisateurs puissent les tenir à jour.

J'ai commencé par créer les pages fixes (home, présentation…). Puis, s'est posée la question des pages dynamiques. Et notamment, de l'affichage de l'actu sur la page home. J'ai vu que la boucle fonctionnait donc j'ai répété le principe dans des templates de pages fixes.

Puis je me suis aperçu qu'il existe les templates de catégories. J'ai donc voulu tester avec. C'est là que je me suis heurté à plusieurs problèmes :

Le nommage des templates ; il me semblait avoir lu qu'on pouvait utiliser category-"slug".php. Mais ça ne fonctionnait pas. En posant la question ici, j'ai compris qu'on ne pouvait utiliser que category-ID.php. C'est moins beau mais ça n'est pas grave, il n'y a que l'intégrateur qui le voit ;-)

J'ai ensuite eu le problème qui a motivé ce fil. Lorsqu'aucun post n'est publié dans une catégorie, le template-ID.php de la catégorie bascule vers 404.php. Alors que j'aurais voulu, comme pour les templates de pages, qu'il affiche le texte indiqué entre <?php … 'else : ?> et <? endif; ?>

Si tu m'expliques comment résoudre le pb ci-dessus, j'utiliserai volontiers les category-ID.php plutôt que des templates fixes.

Et vu qu'elles sont de présentation identique, je pense même que je pourrais remplacer les différentes templates de catégories par la principale category.php remplie de if (is_category())…mais je ne sais pas encore le manier.


Ceci étant, je ne sais pas si on se comprend bien sur le terme de template. Selon moi, je n'appelle pas un "template de catégorie" dans les pages fixes. J'insère juste La Boucle dans des templates de pages fixes pour y faire apparaître les posts d'une catégorie. Mais c'est peut-être ce que tu voulais dire.

Hors ligne

 

#16 23-04-2008 23:03:33

bmzoom
Maître WP
Lieu: No kill in freelance
Date d'inscription: 07-10-2006
Messages: 863

Re: Toujours mes catégories ;-)

Alors essaye cela , sur une catégorie 99 :

<h2>Liste des posts de la categorie 99 </h2>
<ul>
<?php
global $post;
$myposts = get_posts('numberposts=limit&category=99&order=ASC');
foreach($myposts as $post) :
?>
    <li><a href="<?php the_permalink(); ?>"><?php the_title();echo" - ";the_time('j F Y'); ?></a></li>
<?php endforeach; ?>
</ul>

Sans aucun post dedans , il n'y aura pas d'erreur ...

Dernière modification par bmzoom (23-04-2008 23:03:49)


:::
C’est le propre d’une âme magnanime de consulter les autres; une âme vulgaire se passe de conseils 
Dim 4 - http://bmil.free.fr/blog/ ::: Thème - http://www.wpthemesfree.com/ :::
Avec la barre d'icônes de ' google ' dans le navigateur  , il y a direct ' traduire la page en français ' . Plus d'excuse avec le ' british codex ' ::: http://codex.wordpress.org/

Hors ligne

 

#17 24-04-2008 16:38:56

charled
Habitué WP
Date d'inscription: 11-12-2007
Messages: 66

Re: Toujours mes catégories ;-)

bmzoom a écrit:

Alors essaye cela , sur une catégorie 99 :

<h2>Liste des posts de la categorie 99 </h2>
<ul>
<?php
global $post;
$myposts = get_posts('numberposts=limit&category=99&order=ASC');
foreach($myposts as $post) :
?>
    <li><a href="<?php the_permalink(); ?>"><?php the_title();echo" - ";the_time('j F Y'); ?></a></li>
<?php endforeach; ?>
</ul>

Sans aucun post dedans , il n'y aura pas d'erreur ...

Merci bien.

1. Je suis loin d'être calé en php donc pour bien comprendre : est-ce une manière de s'affranchir de la Boucle en en créant une "perso" ?

2. encore une précision : où dois-je ajouter le bout de texte que je voudrais voir s'afficher lorsqu'il n'y a aucun post publié dans la catégorie ?

Hors ligne

 

#18 24-04-2008 17:26:41

bmzoom
Maître WP
Lieu: No kill in freelance
Date d'inscription: 07-10-2006
Messages: 863

Re: Toujours mes catégories ;-)

Pour aller plus loin , voir ' recherche ' dans le forum sur :

- création de template
- fonction get_posts

Toute la suite est à votre compte wp


:::
C’est le propre d’une âme magnanime de consulter les autres; une âme vulgaire se passe de conseils 
Dim 4 - http://bmil.free.fr/blog/ ::: Thème - http://www.wpthemesfree.com/ :::
Avec la barre d'icônes de ' google ' dans le navigateur  , il y a direct ' traduire la page en français ' . Plus d'excuse avec le ' british codex ' ::: http://codex.wordpress.org/

Hors ligne

 

Pied de page des forums

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

Tous droits réservés - wordpress-fr.net © 2005-2006

  • RSS
WPfr ValidatorXhtml ValidatorCSS mysql Php GetFirefox
Design par AmO - Crédits - Equipe WordPress France

Réseau International : Hongrie - Allemagne - Grèce - Italie - Japon - Corée - Suisse - Turquie - USA