8768 sujets

Développement web côté serveur, CMS

Bonjour
je suis en train de créer mon thème wordpress et j'ai un soucis
J'ai créé une page portfolio qui a pour template le fichier portfolio.php.
Cette page s'affiche très bien.
Néanmoins, j'ai un problème lorsque je clique sur une image. Normalement sur la page je voudrais qu'il y ai le header, le footer, une ou des images du projet et une description. Chose qui est bien entendu rempli dans chaque projet du portfolio.
Mais quand je clique sur une image, la page qui s'affiche possède juste le header et le footer. Cette page est la page index.php (je voulais créer le fichier single-portfolio.php, mais WP prend directement la page index.php mais bon c'est pas grave).
Dans mon fichier index.php, voilà ce qu'il y a :

	<?php get_header(); ?>
	
<div class="main single">
  <?php if (have_posts()) : ?>
    <?php while (have_posts()) : the_post(); ?>
      <div class="post">
        <h1 class="post-title"><?php the_title(); ?></h1>
        <p class="post-info">
          Posté le <?php the_date(); ?> dans <?php the_category(', '); ?> par <?php the_author(); ?>.
        </p>
        <div class="post-content">
          <?php the_content(); ?>
        </div>
        <div class="post-comments">
          <?php comments_template(); ?>
        </div>
      </div>
    <?php endwhile; ?>
  <?php endif; ?>
</div>
	

	<?php get_footer(); ?>
  </body>
</html>


Pourquoi ça ne marche pas ? Comment faire svp ?
Merci par avance
Bonjour et bienvenue sur le forum, voyou Smiley smile

Je crois avoir compris le souci mais si je fais fausse route, n'hésite pas à détailler ton problème plus en détail Smiley smile

Lorsque tu clique sur une image, par défaut, le système de templating de WordPress cherche un fichier attachment.php dans ton thème. S'il n'existe pas, c'est index.php qui est utilisé.
> RTFM : la hiérarchie des templates WordPress, le document incontournable pour faire un thème sur-mesure

Dans le cas du template attachment.php, the_content( ) renverra simplement l'image / le fichier. La date de publication, le titre et autres fonctions renverront alors les informations du fichier lui-même.
Merci pour ta réponse
En fait je voudrais que lorsque je clique sur chaque image du portfolio ça m'ouvre un lien avec les images du projet, une description etc
Donc pour l'instant la page utilise est index.php ( je copierais le tout dans le fichier attachment.php quand tout fonctionnera)

Malgré tes explications, je ne comprends pas pourquoi mon code n'affiche rien a part le header et le footer...
Ok, on reprend au début alors.
La cible du lien de chaque image, c'est quoi actuellement ? Ça mène où ? Pourquoi ça ne mènerait pas vers une page spécifique, tout simplement ? Du coup sauf si tu as créé des custom post types je ne comprends pas pourquoi tu parlais de single-portfolio.php, etc dans ton premier message ? En bref, ce n'est pas très clair tout ça Smiley smile
Normalement ça mène vers l'article de l'image, c'est à dire on voit l'image la description etc.
J'utilise aerolus portfolio, donc quand j'ajoute un projet au portfolio, ça crée un article où je peux ajouter des catégories etc. Mais les catégories sont spécifiques au portfolio, ce ne sont pas les même que lorsque dans le tableau d'admin je vais sur "Articles".
Je croyais que aerolus créait seul un custom post types mais peut être que je me trompe.
Donc pour l'instant lorsque je clique sur l'image, c'est le fichier index.php qui est chargé, mais seulement le footer et le header s'affiche. Le contenu non
( je suis sur que c'est index.php qui s'affiche, car si à la place de tout ce qu'il y a compris entre le header et le footer je rajoute un <p>, il s'affiche)
Je précise que si je mets quelque chose genre <? php echo"voila du texte";?> rien ne s'affiche non plus !
En gros le header et le footer s'affiche, mais pour le reste seul les h1 h2 p etc s'affiche mais dès qu'il y a du PHP non !
Comment faire ?
Bonsoir,
Montre nous le code de ta page portfolio.php
Le site est il en ligne ? A quelle url ?
Peux tu joindre une image de l'arborescence de ton theme avec tes fichiers ?
Difficile de t'aider avec si peu d'élément!
Bonjour
alors portfolio.php
  <?php
/*
Template Name: Portfolio
*/
?>
<?php get_header(); ?>
	<?php 
		if(have_posts()) :
			while(have_posts()):
				the_post();
	?>
	
<div <?php post_class();?> id="post-<?php the_ID();?>">
	<div class="post-top">
		<h1><a href="<?php the_permalink(); ?>" rel="bookmark"><?php the_title();?></a></h1>
	</div>
	<div class="post-content">
		<?php the_content("Lire la suite"); ?>
     </div>
</div>
	
	
	
	<?php
		endwhile; endif;
	?>
	<?php get_footer(); ?>
  </body>
</html>


Le site est en local pour l'instant.
Et donc dans mon dossier wordpress, wp-content, thèmes, mon thème, j'ai :
- un dossier fonts
- un dossier images
- header.php
- footer.php
- functions.php
- home.php (car je voulais une page d'accueil statique)
- index.php
- portfolio.php
-prestations.php (template de ma page "Prestations" car je voulais quelque chose de bien précis)
- sidebar.php

Voilà Smiley smile merci