让Wordpress连续显示2和1个帖子

时间:2016-08-20 13:58:13

标签: wordpress wordpress-theming

我正在尝试将我的主页编码为连续2个帖子,然后下一行有一个帖子,下一行有2个帖子,依此类推。

我尝试过使用这篇文章,但每次尝试时我都会遇到问题。

https://perishablepress.com/two-column-horizontal-sequence-wordpress-post-order/

如果有人有任何编码解决方案,我会非常感激。

这是我当前的index.php文件



<?php

get_header();

if (have_posts()) :
while (have_posts()) :
$i++; if(($i % 2) == 0) : $wp_query->next_post(); else :
the_post(); ?>
<article class="post">
    <div id="left-column">
<h2><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h2>
<p>
    <?php echo get_the_excerpt(); ?>
    <a class="moretext" href="<?php the_permalink(); ?>">Read more</a>
    </p>
    </div>
</article>

<?php endif; endwhile; else: ?>
<div>Alternate content</div>
<?php endif; ?>


<?php $i = 0; rewind_posts(); ?>

<?php if (have_posts()) :
while (have_posts()) :
$i++; if(($i % 2) !== 0) : $wp_query->next_post(); else :
the_post(); ?>
<article class="post">
    <div id="right-column">
<h2><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h2>
<p>
    <?php echo get_the_excerpt(); ?>
    <a class="moretext" href="<?php the_permalink(); ?>">Read more</a>
    </p>
    </div>
</article>


<?php endif; endwhile; else: ?>
<div>Alternate content</div>
<?php endif; 

get_footer();

?>
&#13;
&#13;
&#13;

1 个答案:

答案 0 :(得分:0)

每次调用the_post();邮政索引已提前,下一个邮寄数据将在范围内。

在主题中创建一个新模板文件,并使用该模板添加新页面;

<?php
/*
 * Template Name: page-2-col
 */

get_header();

$i = 0;

$args = array(
    'posts_per_page' => 5,
    'paged' => 1
);

$the_query = new WP_Query($args);

if ( $the_query->have_posts() ) {
    while ( $the_query->have_posts() ) {

        if( $i %2 == 1 ) {
            $the_query->the_post(); ?>
            <article class="post col-md-12">
                <h2><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h2>
                <p>
                    <?php echo get_the_excerpt(); ?>
                    <a class="moretext" href="<?php the_permalink(); ?>">Read more</a>
                </p>
            </article>
            <?php
        }
        else {
            $the_query->the_post(); ?>
            <article class="post col-md-6">
                <h2><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h2>
                <p>
                    <?php echo get_the_excerpt(); ?>
                    <a class="moretext" href="<?php the_permalink(); ?>">Read more</a>
                </p>
            </article>      
            <?php $the_query->the_post(); ?>
            <article class="post col-md-6">
                <h2><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h2>
                <p>
                    <?php echo get_the_excerpt(); ?>
                    <a class="moretext" href="<?php the_permalink(); ?>">Read more</a>
                </p>
            </article>
            <?php
        }
        ?>
        <?php
        $i++;
    }
}
else {
    echo '<p>Sorry, no posts matched your criteria.</p>';
}
get_footer();

添加bootstrap,在你的functions.php;

function learningWordPress_resources() {
    wp_enqueue_style('style', get_stylesheet_uri());
    wp_enqueue_script( 'bootstrap-js', 'https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css', array('jquery'), '3.3.7', true );
    wp_enqueue_style( 'bootstrap-style', 'https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css' );
}

add_action('wp_enqueue_scripts', 'learningWordPress_resources');