2015-03-25 47 views
0

我有一個index.php文件工作正常,如果:添加1 2的PHP組到index.php上的WordPress打破了網頁,我可以有或

<?php if (is_page()) { ?> 
    <?php the_post();the_content(); ?> 

    <h4>RECENT POSTS:</h4> 
    <?php echo get_the_post_thumbnail(); ?> 
    <?php $the_query = new WP_Query('showposts=3'); ?> 
    <?php while ($the_query -> have_posts()) : $the_query -> the_post(); ?> 
     <h4><a href="<?php the_permalink() ?>"><?php the_title(); ?></a></li></h4> 
     <p><?php the_excerpt(__('(more…)')); ?></p> 
<?php }?> 

該款顯示器最近發佈在頁面底部的帖子。但我想讓這些帖子縮略圖:

<?php 
$thumbnails = get_posts('numberposts=5'); 
foreach ($thumbnails as $thumbnail) { 
    if (has_post_thumbnail($thumbnail->ID)) { 
     echo '<a href="' . get_permalink($thumbnail->ID) . '" title="' . esc_attr($thumbnail->post_title) . '">'; 
     echo get_the_post_thumbnail($thumbnail->ID, 'thumbnail'); 
     echo '</a>'; 
    } 
} 
?> 

這工作正常!但是,沒有任何內容,因爲我已經離開了

<?php if (is_page()) { ?> 
    <?php the_post();the_content(); ?> 

當我再補充一點,它變成

<?php if (is_page()) { ?> 
    <?php the_post();the_content(); ?> 
<?php 
$thumbnails = get_posts('numberposts=5'); 
foreach ($thumbnails as $thumbnail) { 
    if (has_post_thumbnail($thumbnail->ID)) { 
     echo '<a href="' . get_permalink($thumbnail->ID) . '" title="' . esc_attr($thumbnail->post_title) . '">'; 
     echo get_the_post_thumbnail($thumbnail->ID, 'thumbnail'); 
     echo '</a>'; 
    } 
} 
?> 

打破該頁面的頁/顯示空白。 (主頁)

這個代碼有什麼特別的地方嗎?謝謝!

回答

1

清理你的代碼,以除去多餘的比特,並很好地格式化之後,我們有這樣的:

<?php 
if (is_page()) { 
    the_post(); 
    the_content(); 
    $thumbnails = get_posts('numberposts=5'); 
    foreach ($thumbnails as $thumbnail) { 
     if (has_post_thumbnail($thumbnail->ID)) { 
      echo '<a href="' . get_permalink($thumbnail->ID) . '" title="' . esc_attr($thumbnail->post_title) . '">'; 
      echo get_the_post_thumbnail($thumbnail->ID, 'thumbnail'); 
      echo '</a>'; 
     } 
    } 
?> 

既然代碼更清晰,你可以看到,有在底部缺少一個右括號,用於原來的if聲明。下面的代碼應該工作:

<?php 
if (is_page()) { 
    the_post(); 
    the_content(); 
    $thumbnails = get_posts('numberposts=5'); 
    foreach ($thumbnails as $thumbnail) { 
     if (has_post_thumbnail($thumbnail->ID)) { 
      echo '<a href="' . get_permalink($thumbnail->ID) . '" title="' . esc_attr($thumbnail->post_title) . '">'; 
      echo get_the_post_thumbnail($thumbnail->ID, 'thumbnail'); 
      echo '</a>'; 
     } 
    } 
} 
?> 

記住,<?php你進入PHP的土地,?>帶你回去。如果您有類似<?php echo 'Foo!'; ?> <?php echo 'Bar!'; ?>的中間部分可以安全地取出,因爲它的所有PHP都在那裏:<?php echo 'Foo!'; echo 'Bar!'; ?>這有助於澄清事情並使故障排除更容易。

另一件事,如果配置PHP將某些地方的錯誤吐出來,例如服務器上的error.log,那麼可以幫助您解決很多問題,然後您可以查詢有關可能出錯的詳細信息。

+0

非常感謝賈斯汀,這固定了它!謝謝你的解釋。 – user1410467 2015-03-25 04:03:09

相關問題