Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/247.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何在Wordpress循环中的帖子之间插入自定义代码?_Php_Wordpress - Fatal编程技术网

Php 如何在Wordpress循环中的帖子之间插入自定义代码?

Php 如何在Wordpress循环中的帖子之间插入自定义代码?,php,wordpress,Php,Wordpress,现在我有一个非常基本的Wordpress循环: <?php // get posts $posts = get_posts(array( 'post_type' => 'page', 'posts_per_page' => 30, 'order' => 'DESC' )); if( $posts ): ?> <?php foreach( $posts as $post ):

现在我有一个非常基本的Wordpress循环:

<?php 

// get posts
$posts = get_posts(array(
    'post_type'         => 'page',
    'posts_per_page'    => 30,
    'order'             => 'DESC'
));

if( $posts ): ?>

<?php foreach( $posts as $post ): 
        
setup_postdata( $post )
        
        ?>
        
    
<?php the_title(); ?>
    

<?php endforeach; ?>
    
<?php wp_reset_postdata(); ?>

<?php endif; ?> 
在另一个类似的线程中,我发现我可以使用计数器来实现这一点:

$i=1

if($i==3||$i==5||$i==10){
            /*Adsence here*/
            }
$i++

但我不知道如何在我的代码中实现这一点

不是编码员,只是想把一些东西结合起来


谢谢。

您可以初始化计数器,将其设置为零,并在每次循环后向其添加一个计数器。然后,您可以检查计数器的当前值,并在达到某个值时执行操作

<?php 

// get posts
$posts = get_posts(array(
    'post_type'         => 'page',
    'posts_per_page'    => 30,
    'order'             => 'DESC'
));

$counter = 0;

if( $posts ): ?>

<?php foreach( $posts as $post ): 
        
setup_postdata( $post )     
?>
          
<?php the_title(); ?>

<?php 
// checks if $counter exists in the array
if (in_array($counter, array(3, 6, 9))) {
    // do something when $counter is equal to 3, 6, or 9
    // such as rendering an ad
}

$counter++;
?>

<?php endforeach; ?>
    
<?php wp_reset_postdata(); ?>

<?php endif; ?>  

您可以初始化计数器,将其设置为零,并在每次循环后向其添加一个计数器。然后,您可以检查计数器的当前值,并在达到某个值时执行操作

<?php 

// get posts
$posts = get_posts(array(
    'post_type'         => 'page',
    'posts_per_page'    => 30,
    'order'             => 'DESC'
));

$counter = 0;

if( $posts ): ?>

<?php foreach( $posts as $post ): 
        
setup_postdata( $post )     
?>
          
<?php the_title(); ?>

<?php 
// checks if $counter exists in the array
if (in_array($counter, array(3, 6, 9))) {
    // do something when $counter is equal to 3, 6, or 9
    // such as rendering an ad
}

$counter++;
?>

<?php endforeach; ?>
    
<?php wp_reset_postdata(); ?>

<?php endif; ?>  

您可以通过多种方式进行设置。例如,您可以在循环内使用
current\u post
来获取当前循环索引:

$posts=新的wp\u查询(
排列(
“post_type”=>“page”,
“每页帖子数”=>30,
“订单”=>“描述”
)
);
如果有(员额):
而($posts->have_posts())
{
$posts->the_post();
$current\u post=$posts->current\u post;//从零开始
如果($current|u post==2 | |$current|u post==4 | |$current|u post==9):?>
你的职位
你的职位

您可以通过多种方式进行设置。例如,您可以在循环内使用
current\u post
来获取当前循环索引:

$posts=新的wp\u查询(
排列(
“post_type”=>“page”,
“每页帖子数”=>30,
“订单”=>“描述”
)
);
如果有(员额):
而($posts->have_posts())
{
$posts->the_post();
$current\u post=$posts->current\u post;//从零开始
如果($current|u post==2 | |$current|u post==4 | |$current|u post==9):?>
你的职位
你的职位

感谢两人的帮助!Iismall的答案与我的代码最接近并且易于实现。这就是我接受它作为答案的原因。感谢你的帮助!感谢两人的帮助!Iismall的答案与我的代码最接近并且易于实现。这就是我接受它作为答案的原因。感谢你的帮助!