我正在设计一个自定义wordpress主题,我想在主页上水平显示最近的帖子,每行两个帖子。它看起来像这样:
http://www.numenfilm.com/preview/issues.php
所以我希望我的index.php文件能够像这样踢出代码:
<table>
<tr>
<td>
post contents here
</td>
<td>
post contents here
</td>
</tr>
<tr>
<td>
post contents here
</td>
<td>
post contents here
</td>
</tr>
</table>
table和td标签很简单。我遇到的问题是让tr标签以两个为一组包裹帖子。
我在堆栈溢出的其他地方发现了这篇文章:
Table, TR each 2 loop, PHP, HTML
最后的建议似乎是我正在寻找的,但我没有任何运气与wordpress集成。这是我的index.php页面中的代码:
<?php get_header(); ?>
<div id="main_content">
<h1><a href="<?php echo get_settings('home'); ?>">Numen News & Blog</a></h1>
<?php
$paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
query_posts("showposts=5&paged=$paged");
?>
<?php if (!is_single() && !is_page() && !is_front_page()) : ?><h1><?php wp_title(' ', true, 'right'); ?></h1><?php endif; ?>
<?php /* begin the loop */ if (have_posts()) : ?>
<?php while (have_posts()) : the_post(); ?>
<?php if (is_page()) : /* show page contents */ ?>
<div class="pagecontent" id="post-<?php the_ID(); ?>">
<h1><?php the_title(); ?></h1>
<?php the_content('Read more →'); ?>
<p><?php wp_link_pages('next_or_number=number&pagelink=page %'); ?></p>
<p><?php edit_post_link('Edit', '[ ', ' ]'); ?></p>
</div>
<?php comments_template(); ?>
<?php else : /* show post contents */ ?>
<div class="post" id="post-<?php the_ID(); ?>">
<div class="postcontents">
<?php if (!is_single()) : ?>
<h2><a href="<?php the_permalink() ?>"><?php the_title(); ?></a></h2>
<?php else : ?>
<h1><?php the_title(); ?></h1>
<?php endif; ?>
<div class="posted">Posted <?php the_time('F jS, Y') ?> by <?php the_author_link(); ?> </div>
<?php the_content('Read more →'); ?>
<p><?php wp_link_pages('next_or_number=number&pagelink=page %'); ?></p>
</div>
<?php if(is_single) comments_template(); ?>
</div>
<?php endif; /* end if page or post */ ?>
<?php endwhile;/* end the main loop */ ?>
<?php /* post navigation */ ?>
<?php if (is_single()) : ?>
<div class="postnavigation">
<?php previous_post_link('%link', '<span>←</span> Previous post') ?>
<?php next_post_link('%link', 'Next post <span>→</span>') ?>
</div>
<?php endif; ?>
<?php if ( $wp_query->max_num_pages > 1 ) : ?>
<div class="postnavigation">
<?php next_posts_link('Older posts <span>→</span>') ?>
<?php previous_posts_link('<span>←</span> Newer posts') ?>
</div>
<?php endif; ?>
<?php endif; /* end if have_posts */ ?>
</div><!--END main_content -->
<?php /* sidebar */ get_sidebar(); ?>
<?php /* footer */ get_footer(); ?>
有什么建议吗?
答案 0 :(得分:0)
不要使用表格。
如果你想继续写坏标记,你需要做这样的事情。
<table>
//wordpress loop starts ( you left that part out)
<td>
<tr>
<?php the_content('Read more →'); ?>
</tr>
</td>
// loop ends
</table>
答案 1 :(得分:0)
尝试此代码,为了便于阅读,省略了td中的主要代码。我添加的代码,你应该添加的大多数是深红色,我相信你可以想出来。
<table>
<tr>
<?php $counter=1; ?>
<?php while (have_posts()) : the_post(); ?>
<td>
<?php if (is_page()) : /* show page contents */ ?>
:
:
<?php endif; /* end if page or post */ ?>
</td>
<?php if($counter%2==0) echo '</tr><tr>';
$counter++;
?>
<?php endwhile;/* end the main loop */ ?>
</tr>
</table>
答案 2 :(得分:0)
以下是使用上面bingjie2680发布的解决方案的index.php的完整代码。它有效。
<?php get_header(); ?>
<div id="main_content">
<h1><a href="<?php echo get_settings('home'); ?>">Numen News & Blog</a></h1>
<?php
$paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
query_posts("showposts=5&paged=$paged");
?>
<?php if (!is_single() && !is_page() && !is_front_page()) : ?><h1><?php wp_title(' ', true, 'right'); ?></h1><?php endif; ?>
<?php /* begin the loop */ if (have_posts()) : ?>
<table>
<tr>
<?php $counter=1; ?>
<?php while (have_posts()) : the_post(); ?>
<td>
<?php if (is_page()) : /* show page contents */ ?>
<div class="pagecontent" id="post-<?php the_ID(); ?>">
<h1><?php the_title(); ?></h1>
<?php the_content('Read more →'); ?>
<p><?php wp_link_pages('next_or_number=number&pagelink=page %'); ?></p>
<p><?php edit_post_link('Edit', '[ ', ' ]'); ?></p>
</div>
<?php comments_template(); ?>
<?php else : /* show post contents */ ?>
<div class="post" id="post-<?php the_ID(); ?>">
<div class="postcontents">
<?php if (!is_single()) : ?>
<h2><a href="<?php the_permalink() ?>"><?php the_title(); ?></a></h2>
<?php else : ?>
<h1><?php the_title(); ?></h1>
<?php endif; ?>
<div class="posted">Posted <?php the_time('F jS, Y') ?> by <?php the_author_link(); ?> </div>
<?php the_content('Read more →'); ?>
<p><?php wp_link_pages('next_or_number=number&pagelink=page %'); ?></p>
</div>
<?php if(is_single) comments_template(); ?>
</div>
<?php endif; /* end if page or post */ ?>
</td>
<?php if($counter%2==0) echo '</tr><tr>';
$counter++;
?>
<?php endwhile;/* end the main loop */ ?>
</tr>
</table>
<?php /* post navigation */ ?>
<?php if (is_single()) : ?>
<div class="postnavigation">
<?php previous_post_link('%link', '<span>←</span> Previous post') ?>
<?php next_post_link('%link', 'Next post <span>→</span>') ?>
</div>
<?php endif; ?>
<?php if ( $wp_query->max_num_pages > 1 ) : ?>
<div class="postnavigation">
<?php next_posts_link('Older posts <span>→</span>') ?>
<?php previous_posts_link('<span>←</span> Newer posts') ?>
</div>
<?php endif; ?>
<?php endif; /* end if have_posts */ ?>
</div><!--END main_content -->
<?php /* sidebar */ get_sidebar(); ?>
<?php /* footer */ get_footer(); ?>