array_splice ile yapabilirsiniz.

Örnek foreach yapınızın şöyle olduğunu varsayıyorum:

foreach ( $posts as $key => $val ) {
echo $val->content;
}

Şu şekilde bir işlem yapabilirsin:

$array_count = count($posts);

$sponsorlugonderi = array( "BU BIR SPONSORLU GONDERIDIR" );

array_splice( $posts, rand(1,$array_count), 0, $sponsorlugonderi);
$array_count değerine dizinizin sayısını yazdırdık. Veya şu işlemlede dizi sayısını alabilirsiniz:

$counter = 0;
$dizi_count = "";
foreach ( $posts as $key => $val ) {
echo $val->content;
$counter++;
$dizi_count .= $counter;
}

$array_count = $dizi_count;


Sonrasında ise arraya ekleyeceğiniz içeriği belirliyorsunuz. Splice ile belirlediğiniz bir kısma ekliyorsunuz. Sabit olarak belirleyebilirsiniz. Döngünüzde 15 adet çıktı verdiğinizi varsayalım. 1,15 arasında farklı kısımlarda rastgele gösterecektir sponsorlu gönderinizi.

Aklıma ilk gelen mantık ve yöntem bu oldu.