pages, catégories, articles et article seul (Créer un compte)

  • Statut : non résolu
12 sujets de 1 à 12 (sur un total de 12)
  • Auteur
    Messages
  • #498373
    ombres-et-lumieres
    Membre
    Chevalier WordPress
    147 contributions

    Bonjour,

    Ma configuration WP actuelle
    – Version de WordPress : 3.1
    – Version de PHP/MySQL : probablement php5, voir ovh pour qui connaît
    – Thème utilisé : thème enfant personnel issu de « egon » de flashxml
    – Extensions en place : celles pour faire fonctionner les animations flash
    – Nom de l’hebergeur : ovh
    – Adresse du site : http://www.ombres-et-lumieres.eu/a-propos/
    attention: le site est en phase finale de développement et donc la homepage http://www.ombres-et-lumieres.eu mène à une impasse pour me permettre de travailler tranquillement derrière.
    Problème(s) rencontré(s) : un problème tout con de if… ; else…; qui refuse de marcher, et c’ est incompréhensible.

    Bonjour à tous,

    J’ ai intitulé cette question « pages, catégories, articles et article seul », car mon site se découpe, logiquement et graphiquement en deux parties: des pages de présentations, comme un site normal et un blog.
    Pour éviter les menus déroulants, j’ ai fait le choix d’ utiliser des catégories spécifiques pour des pages spécifiques: tout le blabla de la page ‘a propos’ et une page d’ accès verrouillés pour des clients: donc deux catégories spécifiques d’ articles pour remplir ces pages.
    Pour résoudre le problème j’ avais vu un template utilisant la fonction « query_posts » dont j’ ai usé et abusé. J’ ai aussi créé trois fichiers-templates différentents (a_propos.php, zone_clients.php et blog.php). Cela me conduit à trois pages de type blog, dont deux sur fond noir et une sur fond blanc.
    Le problème qui en résulte est que chacune débouche sur la même page « single.php » qui décrit un article seul. Un même fichier pour deux mises en pages différentes.

    J’ ai donc imaginé le code suivant, à placer en en-tête de fichier:

    ….qui ne fonctionne pas, j’ ai toujours le fond blanc de base.

    je sais avoir l’ esprit tordu, mais il me semble que l’ idée est bonne et élégante.

    Sinon j’ aurai recours à un deuxième fichier single.php
    Mais ici cela devient nettement plus complexe: « the_permalink » me donne un lien direct vers le post, ce qui est bon pour le blog (single.php). Dans les pages je dois donc faire un lien avec « templatepath./single_noir.php », passer via « _$POST » l’ ID du post, pour l’ exploiter dans « single_noir.php » et reconfigurer « templatepath » dans functions.php, sinon gare à l’ erreur car il s’ agit d’ un thème enfant. Mais tout ceci me semble bien lourd.

    Donc quelle est la bonne solution?

    @ lumière de lune: avant d’ écrire ceci, j’ ai lu ton article sur les pages, catégories et article.
    mais il y a une chose que je ne comprends pas, lorsque tu parle de « créer un autre fichier dans le thème, appelé category-xx.php avec l’id de la catégorie à la place de xx et le tour est joué. « 

    Par exemple pour la partie « client » j’ aurais du créer un fichier category-clients.php? mais ensuite, avec quoi je me le rempli mon panier php?

    Autre expression qui me travaille: « category-slug.php »
    En fait j’ ai déjà vu ce terme « slug » dans le codex, en faisant une recherche sur include. (fonction get_template_part( $slug, $name )). Mais je sors du sujet. Cependant, je serais heureux d’ avoir une définition de « slug »

    Merci à tous d’ avoir lu mon verbiage jusqu’ au bout

    Eric

    #786786
    Lumiere de Lune
    Participant
    Maître WordPress
    20430 contributions

    is_category c’est pour les pages de catégorie. Si tu es sur un article, tu n’es pas sur une page de catégorie, donc c’est in_category
    (et is category and is category te renverras toujours faux pour la même raison)

    #786787
    ombres-et-lumieres
    Membre
    Chevalier WordPress
    147 contributions

    @ chouf
    sais tu, deux fois, qu’ une bonne bière bien de chez nous porte ton surnom?, mais un rien de conseils pratiques aurait été bien plus agréable et utile. Ou alors un lien de théorie précis, avec explications à la clef.
    Je me demande si tu as même jetté un oeuil sur le lien, sinon tu te serais rendu compte que je me suis déjà sérieusement documenté, mais qu’ je manque de conseils pratiques.


    @lumiere
    de lune
    merci pour l’ information.
    Mais alors il y a une chose que je ne suis pas sûr de comprendre le terme « page de catégorie ».
    Les pages « a propos » et « zone client » sont donc deux pages de catégories, parce que construites à parties d’ une catégorie d’ article et le is_category devrait s’ utiliser sur cette page. Quant à tester la catégorie d’ un article, donc dans la page single.php, cela se ferait avec in_category( ‘catégorie 1’ or ‘catégorie 2’ or,…).

    Je vais tester ma condition avec ces nouvelle données.

    Merci,

    Eric

    #786788
    Lumiere de Lune
    Participant
    Maître WordPress
    20430 contributions

    Oui tu as bien compris. Ce que j’appelle « page de categorie » c’est une page html générée à partir de category.php

    HS : Ravie de rencontrer un amateur de Chouf, c’est un de mes très bons souvenirs de ton pays (et puis j’adorais leur bouteille, aussi)

    #786789
    Lumiere de Lune
    Participant
    Maître WordPress
    20430 contributions

    Techniquement, le slug correspond en fait au nicename , ou dans la table wp_posts au post_name ^^

    #786790
    Lumiere de Lune
    Participant
    Maître WordPress
    20430 contributions

    Non, non 🙂 c’est juste qu’en fait ce vocabulaire disparait peu à peu des explications, alors je fais la traduction ^^

    #786791
    ombres-et-lumieres
    Membre
    Chevalier WordPress
    147 contributions

    ok, merci pour ce lot d’ infos.
    @chouf
    Et désolé si j’ ai été un peu brutal à cause de ton post, un tantinet à l’ emporte pièce, me renvoyant au b.a.ba du codex. C’ est aussi un tantinet de ma faute.
    Ce que tu peux apprendre de moi, en regardant mon site, est que je suis un photographe. Et à par cela… pas grand chose.
    Mais voilà, je triche. Je l’ ai fait durant ma reconversion artistique, je le fais encore maintenant (et encore tu n’ as jamais vu mon avatar, mais je sens que si je m’ incruste ici il va apparaître) en donnant une sensation d’ artiste anar et déjanté, mais voilà (y a personne d’ autre qui regarde?), à cheval sur les années 70 et 80, j’ ai fait ingénieur civil avec une très nette orientation électronique et informatique. Mais je n’ ai jamais pratiqué. Mais cela m’ a appris à d’ abord faire un tantinet de théorie, avant de me lancer.
    Donc, si j’ ai quelques problèmes avec les « détails » des langages, je sais réfléchir en termes de zéro et un. Et comprendre. :codex::codex:

    Mais tout ceci est :hs:

    Eric

    #786792
    ombres-et-lumieres
    Membre
    Chevalier WordPress
    147 contributions

    @pierre de lune:
    je me suis informé de manière un peu plus approfondie sur les pages de catégories et ai trouvé un tuto qui m’ a permis, d’ abord de mieux comprendre ce dont il s’ agissait, et ensuite de créer des « catégories de posts » (http://net.tutsplus.com/tutorials/wordpress/rock-solid-wordpress-3-0-themes-using-custom-post-types) en fonction de leur utilisation dans mon blog.

    @tous:
    La première et plus intéressante partie est donc liée à l’ usage de la fonction  » register_post_type( ‘blog’ , $args ) » dans le code:

    add_action(‘init’, ‘blog_register’);  
    function blog_register() {  
            $args = array(  
                ‘label’ => __(‘blog’),  
                ‘singular_label’ => __(‘blog’),  
                ‘public’ => true,  
                ‘show_ui’ => true,  
                ‘capability_type’ => ‘post’,  
                ‘hierarchical’ => false,  
                ‘rewrite’ => true,  
                ‘supports’ => array(‘title’, ‘editor’, ‘thumbnail’, ‘comments’)  
               );  
          
            register_post_type( ‘blog’ , $args );  
        }

    initialement le paramètre ‘comments’ ne s’ y trouvait pas mais comme, dixit le codex, il est utilisable, je l’ y ai ajouté car…
    Je me heurte à un problème incompréhensible. D’ après ce que j’ ai compris, l’ argument ‘supports’ correspond à ce que je trouverai dans mon backend lorsque je cliquerai sur « add article » de la catégorie « blog », mais si j’ ai bien l’ éditeur visuel ainsi que le titre, je n’ ai ni thumbnail, ni possibilité d’ autoriser ou refuser les commentaires. Pire: lorsque je clique, en haut de page, sur « options d’ écran », j’ ai deux pelé et trois tondus options, alors qu’ avec articles « normaux » il y en a plein, plein plein.
    J’ ai donc du rater une marche quelque part, mais j’ chai pa souuuuu… .
    Le reste du tuto parle de création de meta-box, pour ajouter certaines informations, mais, si j’ ai bien compris ce que cela signifie, puor une imagette, cela ne sert à rien, puisque natif.

    Donc, après avoir cherché l’ erreur, je fais appel à l’ équipe.

    Encore une remarque: grâce à ceci, il m’ a suffit de créer des pages single-typedepost.php pour que la bonne single arrive avec la bonne page de catégorie.

    Voilà, j’ espère avoir gardé le style vivant et un peu sauvage en respectant mieux les formes.

    #786793
    Guy
    Participant
    Maître WordPress
    14817 contributions

    ce n’est pas exactement des catégories de posts que vous avez créé mais des types de posts. La différence parait mince au niveau de la signification, mais pour que chacun puisse se comprendre, il est préférable d’utiliser les même termes (ou de donner une définition à chaque fois, mais cela devient vite fastidieux)

    D’autant plus quand vous saurez qu’il se surajoute des « catégories personnalisées » appelées taxonomies dans WordPress.

    Sinon, normalement en ayant mis comments et thumbnail, vous devriez avoir dans les options de l’écran discussion et image à la une.

    #786794
    ombres-et-lumieres
    Membre
    Chevalier WordPress
    147 contributions

    ou de donner une définition à chaque fois, mais cela devient vite fastidieux

    Mais en math pure, on commence toujours avec deux choses: les axiomes et les définitions, histoire de savoir où on met les pieds et ne pas mélanger torchons et serviettes.🍺
    Je sais que pour beaucoup, jouer avec le codage internet relève un peu de l’ empirisme, mais moi, j’ aime ça, les définitions. :codex: et :blini: J’ ai ainsi de bonnes bases à partir des quelles je peux poser les questions suivantes, curieux invétéré que je suis. :faq: et :résolu:

    au fait j’ aime les :boulet: sauce lapin 😇

    Eric

    #786795
    Lumiere de Lune
    Participant
    Maître WordPress
    20430 contributions

    Les post types doivent être entièrement programmés. Là vous prenez une enclume pour écraser une mouche.

    Pour appeler un template single.php spécifique en fonction de la catégorie une fonction du type
    if (in_category(‘blabla’) {get template_part(‘single’, ‘blabla’) ; } else {get_template_part(‘single’) ; } est beaucoup plus simple, et éviter de se casser la tête avec la programmation des post types

    #786796
    ombres-et-lumieres
    Membre
    Chevalier WordPress
    147 contributions

    Je viens donc de jeter à la poubelle le travail de programmation fait précédemment 😉 et ai créé un fichier single.php avec juste cette condition, renvoyant, d’ un côté à un fichier single-blanc.php et un autre single-noir.php et cela fonctionne. 😆 Hourrah!👏
    Je ne suis pas sûr d’ avoir compris toutes les subtilités de la fonction get template_part(), mais nous, vous tous et moi, allons faire comme si, du moins pour le moment. 😎
    Il reste d’ autre questions en suspend, mais je suggère de clôturer ce fil car résolu.
    Le reste sera débattu sur d’ autres fils. Ou fils.:idea::oops::lol:

    Et merci à l’ équipe* 👏👏👏👏

    *: allusion à une très vieille émission Ertébéienne: « Visa pour le monde ». Seulement pour Belges plus trop jeunes

12 sujets de 1 à 12 (sur un total de 12)
  • Le forum ‘Utilisation spécifique de WordPress’ est fermé à de nouveaux sujets et réponses.