2010-05-03 5 views
1

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

Проблема заключается в том, что на всех отдельных рубриках категории «блог» заголовок и содержание сообщения отражаются ниже нижнего колонтитула страницы. Я не знаю, почему они появляются, и я не смог остановить его или скрыть. Loop закрывается на странице шаблона, но мне интересно, как Loop от 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'); 
}?> 

код из одного-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(); ?> 

ответ

1

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

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

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

+0

В условном выражении есть код в файле single.php; то, что вы описываете, я боялся. Должен ли я развернуть свой код и поместить его в условную оболочку до закрытия тега php? – poindexter

+0

Хорошо, я вставляю ваш код и фиксируется. Большое спасибо, ответ принят. – poindexter

+0

В PHP вы можете использовать exit() в любое время, чтобы полностью остановить код. Поэтому, если нет способа лучше организовать ваш код, я бы просто положил его после инструкции include в условном выражении. –

0

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

+0

Я видел это; но мой код нижнего колонтитула не имеет ничего общего с циклом. Вот точный код, который находится в нижнем колонтитуле (pastebin): http://wordpress.pastebin.com/zfQ4GHBZ Дополнительный цикл вводится или повторяется из неизвестного источника. – poindexter

+0

Является ли single.php пустым, за исключением того, что вы разместили? –

+0

single.php практически не отличается от того, что я опубликовал, за исключением того, что он не содержит HTML-заголовок или код, позволяющий пользователям публиковать комментарии. Вы можете точно увидеть, что находится в single.php здесь: http://wordpress.pastebin.com/nqLQdtLE – poindexter

 Смежные вопросы

  • Нет связанных вопросов^_^