Содержание отображается ниже нижнего колонтитула в категории Шаблон сообщения - PullRequest
1 голос
/ 04 мая 2010

Я создал шаблон категории в Wordpress для всех постов, которые находятся в категории «блог». Имя файла - single-blog.php. В single.php есть некоторый условный код, который проверяет, относится ли публикация к категории «блог» и перенаправляет ли она ее в файл single-blog.php. Кажется, это работает нормально.

Проблема заключается в том, что на всех постах, классифицированных в блоге, заголовок и содержание отображаются под нижним колонтитулом страницы. Я не знаю, почему они появляются, и я не смог остановить это или скрыть. Цикл закрывается на странице шаблона, но мне интересно, отправляется ли цикл из single.php. Вы можете посмотреть пример проблемы здесь:

http://69.20.59.228/2010/03/test-blog-post/

Пожалуйста, дайте мне знать, если у вас есть предложения. Я публикую два раздела кода ниже. Первый - это условный вызов в single.php. Второй код из файла single-blog.php (шаблон сообщения категории).

условный вызов в single.php.

<?php
$post = $wp_query->post;
if (in_category('blog')) {
include(TEMPLATEPATH.'/single-blog.php');
}?>

код из single-blog.php (шаблон сообщения категории)

   <?php get_header(); ?>

   <?php get_sidebar(); ?>


   <p><h2>The IQNavigator Blog</h2></p>
   <em><a href="/category/blog">Blog Home</a></em> | <em><a href="/category/blog/feed/">Subscribe via RSS</a></em><p><br></br></p>

<?php if (have_posts()) : while (have_posts()) : the_post(); ?>


    <div <?php post_class() ?> id="post-<?php the_ID(); ?>">
        <h1 class="pagetitle"><?php the_title(); ?></h1>
        <!-- <p class="details">Posted <?php the_time('l, F jS, Y') ?> at <?php the_time() ?></p> -->
        <div class="entry">
            <?php the_content('<p class="serif">Read the rest of this entry &raquo;</p>'); ?>

            <?php wp_link_pages(array('before' => '<p><strong>Pages:</strong> ', 'after' => '</p>', 'next_or_number' => 'number')); ?>
            <?php the_tags( '<p>Tags: ', ', ', '</p>'); ?>

            <p class="postmetadata alt">
                <small>
                    -----<br>
                    Posted
                    <?php /* This is commented, because it requires a little adjusting sometimes.
                        You'll need to download this plugin, and follow the instructions:
                        http://binarybonsai.com/wordpress/time-since/ */
                        /* $entry_datetime = abs(strtotime($post->post_date) - (60*120)); echo time_since($entry_datetime); echo ' ago'; */ ?>
                    on <?php the_time('l, F jS, Y') ?>, 
                    filed under <?php the_category(', ') ?>.
                    Follow any responses to this entry through the <?php post_comments_feed_link('RSS'); ?> feed.

                    <?php if ( comments_open() && pings_open() ) {
                        // Both Comments and Pings are open ?>
                        <a href="#respond">Leave your own comment</a>, or <a href="<?php trackback_url(); ?>" rel="trackback">trackback</a> from your own site.

                    <?php } elseif ( !comments_open() && pings_open() ) {
                        // Only Pings are Open ?>
                        Responses are currently closed, but you can <a href="<?php trackback_url(); ?> " rel="trackback">trackback</a> from your own site.

                    <?php } elseif ( comments_open() && !pings_open() ) {
                        // Comments are open, Pings are not ?>
                        You can skip to the end and leave a response. Pinging is currently not allowed.

                    <?php } elseif ( !comments_open() && !pings_open() ) {
                        // Neither Comments, nor Pings are open ?>
                        Both comments and pings are currently closed.

                    <?php } edit_post_link('Edit this entry','','.'); ?>

                </small>
            </p>




            <?php the_tags( '<p>Tagged: ', ', ', '</p>'); ?>
        </div>

    </div>


<?php comments_template(); ?>

<?php endwhile; else: ?>

    <p>Sorry, no posts matched your criteria.</p>

<?php endif; ?>


<?php get_footer(); ?>

Ответы [ 2 ]

1 голос
/ 04 мая 2010

Вы можете попробовать добавить exit ()

 <?php get_footer(); exit(); ?>

Есть ли код в вашем файле single.php после условного? Включения не останавливают выполнение, и интерпретатор вернется в файл single.php после того, как это будет сделано с single-blog.php.

0 голосов
/ 04 мая 2010

посмотрите на свою страницу источника; код, отображающий заголовок «Тестовое сообщение в блоге», следует после </html>, поэтому у вас есть цикл, запрос или что-то, извлекающее сообщения в файле footer.php

...