在循环中的帖子之间添加特定帖子类别

时间:2014-08-16 00:49:08

标签: php wordpress

我想在每3个帖子后添加一个特定类别的帖子(例如“赞助商”)。示例:

邮政发布赞助商 邮政邮政赞助商 邮政邮政赞助商

我发现这个代码用于在循环中的帖子之间注入Adsense,但是是否可以使用此代码在循环中的帖子之间添加特定的帖子类别?我将如何更改此代码以实现此目的?或者有更好的方法吗?

在帖子之间注入Adsense的代码:

添加自定义函数或在循环中引入自己的钩子:

<article id="entry-<?php the_ID(); ?>" <?php post_class('entry group'); ?>>
     <div id="postcontent"></div>
</article>

<?php do_action( 'inject_ads', $wp_query->current_post ); ?> 

您可以像这样注入广告:

add_action( 'inject_ads', function( $i ){

if( 4 === $i % 5 )
{
     echo '... your ad code ...';
}

});

代码在这里找到:

http://stackoverflow.com/questions/22795309/how-to-add-looping-advertisement-and-different-post-stlyes-inside-wp-loop

1 个答案:

答案 0 :(得分:0)

你最好分别使用两个WP_Query并用&#39; Sponsor&#39;来调用另一个循环。类别主循环每4个帖子:

$query_with_main = new WP_Query(); // main loop
$query_with_sponsor = new WP_Query('cat_name=sponsor'); // Sponsor loop

    if ( $query_with_main->have_posts() ) {
        while ( $query_with_main->have_posts() ) { 
            if ( 0 === $query_with_main->current_post % 4 ) { // To check if 4th of the main loop 
                 if ( $query_with_sponsor->have_posts() ) {
                     $query_with_sponsor->the_post();
                     // Sponsor loop code goes here                           
                 }
            }
            $query_with_main->the_post();
            // Main loop code goes here
        }

    }