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.
#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:
- <?php get_header(); ?>
- <div id="titre-contenu"><?php single_cat_title(); ?></div>
- <div id="texte-contenu">
- <?php query_posts('category_name=formations&showposts='); ?>
- <?php if(have_posts()) : ?><?php while(have_posts()): the_post(); ?>
- <h2><?php the_title(); ?></h2>
- <p><?php the_content(); ?></p>
- <?php endwhile; else: ?>
- <p>Pas de formations pour l'instant. Merci de revenir.</p>
- <?php endif; ?>
- </div>
- <?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 ... 
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 ...
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 
:::
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






