2011-01-29 1 views
2

Je commence à écrire un thème personnalisé pour Wordpress. J'ai créé une nouvelle page appelée "Accueil" et défini la page d'accueil comme une page statique, en sélectionnant "Accueil". Je veux que cette page affiche tous les articles avec une catégorie de 'nouvelles' plus quelques images.Get ID pour la page d'accueil statique, pas de poste

J'ai ensuite ajouté avant page.php ce qui suit:

<?php get_header(); ?> 

<div class='detail'> 
    <?php if (have_posts()) { 
    query_posts('category_name=news'); 
    while (have_posts()) : the_post(); ?> 
     <h4><?php the_date('d/m/Y'); ?> - <?php the_title(); ?></h4> 
     <div class='post'><?php the_content(); ?></div> 
    <?php endwhile; }?> 
</div> 

<?php get_footer(); ?> 

J'ai téléchargé quelques images et les attacha à la page « Accueil ». Je veux maintenant obtenir l'URL pour les images jointes. J'ai essayé quelque chose comme:

$images =& get_children('post_type=attachment&post_mime_type=image&post_parent=' . get_the_ID()); 

mais renvoie uniquement l'ID du poste le plus récent étant montré, même si je mets le code ci-dessus en dehors de la boucle. Si je supprime la page d'accueil statique et que j'accède à la page d'accueil, alors j'obtiens les bons résultats, comment puis-je obtenir les images de la page d'accueil lorsque je l'utilise comme page statique?

Pardonnez-moi si cela est simple, première incursion en PHP et le développement wordpress

Répondre

1

Je pense que votre problème est que vous utilisez get_the_ID(); en dehors de la boucle. l identité(); et get_the_ID(); saisissez l'ID de poste actuel de la boucle; Si vous l'utilisez en dehors de The Loop, tout ce que vous obtiendrez est le dernier. Voir: http://codex.wordpress.org/Function_Reference/get_the_ID

Pour obtenir l'ID de la page courante, essayez:

$page=get_page_by_title($page_name); 
$images =& get_children('post_type=attachment&post_mime_type=image&post_parent='.$page->ID); 

Si cela ne fonctionne pas, il y a une fonction à http://wordpress.org/support/topic/how-to-get-page-id-using-php?replies=5 (où j'ai trouvé le code ci-dessus) qui fait la même chose .

Espérons que cela aide!