web-dev-qa-db-fra.com

Afficher correctement les messages sur la page d'accueil

Je ne parviens pas à afficher les messages d'une seule catégorie sur la page d'accueil comme je le souhaite. Le thème que j'utilise utilise une mise en page à 3 colonnes pour la page d'accueil et une mise en page de contenu pour la page de blog.

En gros, je souhaite que la page d'accueil s'affiche exactement comme la page de blog , mais inclure le curseur. Donc, ce que j'ai fait était simplement de copier le code de category.php et de le coller dans un nouveau modèle de page personnalisé intitulé hompage.php et de le définir comme ma page d'accueil.

Mais pour une raison quelconque, il n’affiche aucun message et je ne sais pas pourquoi.

catégorie.php

<?php
/**
 * The template for displaying Category pages.
 *
 */
$settings = get_option( "ntl_theme_settings" );
get_header(); ?>



        <div class="outer">
                <div class="frameset container clear">
                        <?php if ($settings['ntl_disable_audio'] != 'off'){     ?>
                        <div class="clear headtop">    
                                <div class="page-title" >
                                        <h1 class="vfont"><?php single_cat_title(); ?></h1>
                                </div>

                                <?php echo lets_get_albumselector(); ?>                                        
                                <?php echo lets_get_musicplayer(); ?>

                        </div>                         
                        <?php } else { ?>

                        <div class="clear headtop" style="height: auto;">                                      
                                <div class="page-title" style="width: 100%; margin-bottom: 40px;">
                                        <h1 class="vfont"><?php single_cat_title(); ?></h1>
                                </div>                 
                        </div>

                        <?php } ?>

                        <?php if (!$settings['ntl_show_timer']) { ?>
                                <div class="cdowntop"> 
                                <?php echo get_for_timer(''); ?>
                        <?php } else { ?>
                                <div class="cdownnone">
                        <?php } ?>

<div class="bodymid hfeed hpage">
        <?php if ($settings['ntl_disable_audio'] != 'off'){     ?>
                <div class="drawer">&nbsp;</div>
        <?php } ?>
        <div id="main">
                <div id="content" role="main">
                        <div class="container clear">
                                <div class="grid8 first">              
                                        <div id="content" role="main">
                                                <?php get_template_part( 'loop', 'category' ); ?>                              
                                                <?php adminace_paging(); ?>
                                        </div>
                                </div>
                                <?php get_sidebar(); ?>
                        </div>
                </div>
        </div>
</div>
</div>
<?php lets_make_carousel(); ?>


<?php get_footer(); ?>

loop.php

<?php
/**
 * The loop that displays posts.
 *
 */

?>

<?php /* If there are no posts to display */ ?>
<?php if ( ! have_posts() ) : ?>
        <div id="post-0" class="post error404 not-found">
                <h1 class="entry-title"><?php _e( 'Not Found', 'localize' ); ?></h1>
                <div class="entry-content">
                        <p><?php _e( 'Apologies, but no results were found for the requested archive. Perhaps searching will help find a related post.', 'localize' ); ?></p>
                        <?php get_search_form(); ?>
                </div><!-- .entry-content -->
        </div><!-- #post-0 -->
<?php endif; ?>

<?php
        /* Start the Loop.
         *
         *
         * Without further ado, the loop:
         */ ?>
<?php while ( have_posts() ) : the_post(); ?>


                <div id="post-<?php the_ID(); ?>" <?php post_class(); ?>>

                        <?php if ( !is_search() ) { ?>
                        <h3 class="entry-title excpts vfont" style="margin: 0px;"><?php the_title(); ?></h3>
                        <div class="vmeta smallfont">
                                <?php ntl_posted_on(); ?><a href="<?php echo get_author_posts_url( get_the_author_meta( 'ID' )); ?>"><?php echo get_the_author(); ?></a>
                        </div>
                        <?php
                        $pphoto = '';
                        $pphoto = get_the_post_thumbnail($post->ID, 'imlink');
                        if ($pphoto) {
                        ?>

                        <div class="excpt">
                                <?php the_excerpt(); ?>

                        </div>
                        <div class="menu-content" style="width: 286px; position: relative;">
                        <div class="mencontent">
                                <div class="imgblock" ><div class="imlk imgoverlink6 menimg">
                                <?php the_post_thumbnail('imlink'); ?>
                                <a href="<?php the_permalink(); ?>"><span class="imgblockover imgoverlink6">&nbsp;</span></a>
                                </div></div>
                                <div class="ctime clear smallfont">
                        <?php the_time('j') ?>
                        <?php the_time('M') ?>
                                </div> 
                        </div>
                        </div>
                        <?php } else { ?>
                        <?php the_excerpt(); ?>
                        <?php } ?>

                        <?php } else { ?>
                        <div class="foodmenu searchresult">
                        <h2 class="entry-title vfont excpts"><?php the_title(); ?></h2>
                        <?php the_excerpt(); ?>
                        <a href="<?php the_permalink(); ?>">Read More</a>
                        <span class="clear"></span>
                        </div>
                        <?php } ?>

                </div>

                <?php comments_template( '', true ); ?>

<?php endwhile; ?>

Toutes les suggestions seraient très appréciées!

1
aizas5544

Je pense que vous rendez la tâche beaucoup plus difficile que nécessaire.

La solution la plus simple

Premièrement, je suis un peu confus, car la page que vous appelez la "page de blog" n'est pas réellement la page de blog. La page de blog est la page index , et la page que vous avez liée est en fait l'index d'archives de catégories pour la catégorie ID 7 .

Si tu veux vraiment ça:

En gros, je souhaite que la page d’accueil soit identique à la page de blog, mais inclue le curseur.

Et vous voulez appeler la page "Blog" la page d'index des archives de la catégorie 7, la solution est très simple:

  1. Aller au Settings -> Reading
  2. Remplacez "Affichages page de garde" de "page statique" par "derniers messages"

Ensuite, vous pouvez faire l'une des deux choses suivantes:

  1. Ajoutez le curseur à header.php, en utilisant comme conditionneur if ( is_front_page() )
  2. Créez un fichier modèle home.php (le fichier modèle utilisé pour afficher l'index des articles de blog) et ajoutez votre curseur à cet endroit.

Solution contournée

Si vous voulez vraiment une page d'accueil statique et une page de blog distinctes, assurez-vous d'abord que la page d'accueil statique est correctement configurée:

  1. Créez une page statique, nommée (arbitrairement) "Front Page" ou "Home Page" ou comme vous le souhaitez
  2. Créez une page statique, nommée (arbitrairement) "Blog" ou ce que vous voulez
  3. Aller au Settings -> Reading
  4. Remplacez "les derniers affichages" de "derniers messages" par "une page statique"
  5. Sélectionnez la page créée à l'étape 1 comme "Première page".
  6. Sélectionnez la page créée à l'étape 2 en tant que "page Messages".

Ensuite, il vous suffit de configurer vos fichiers de modèle.

Dans ce cas, vous pouvez laisser l'index de publication des articles de blog retomber à index.php, et vous pourrez vous y rendre. Mais pour la page d'accueil, vous devez créer front-page.php, avec les éléments suivants:

  1. Le code du curseur, le cas échéant
  2. Une requête personnalisée/secondaire, à l'aide de new WP_Query().
  3. Correction de la pagination .

Cette solution est beaucoup plus compliquée. Je recommanderais d'aller avec la solution plus facile.

1
Chip Bennett