2013-02-04 121 views
1

其他的div我有一個顯示所有我的wordpress帖子/分隔的內WordPress的循環代碼,它看起來像這樣:插入的div通過PHP

<?php if (have_posts()) : ?> <?php while (have_posts()) : the_post(); ?>

那麼當然這個循環中,有我的divs的帖子是,然後一些結束php代碼..但這裏是我想要做的,我是如何做到的,爲什麼它不工作。

我的主頁上有大約60個帖子,每個帖子都有相同的div類(當然),我想在我的某些帖子之前或之後插入其他div。而我這樣做的方式非常愚蠢。

我使用CSS的nth-child來選擇我的div帖子,然後給它們留出空間或清除空間給我要插入的其他div。因此,例如,我有60個帖子/ divs,每行5個div ..在第10篇文章中,我會說它有一個margin-left,但是有很多像素可以爲需要在這些帖子中插入的div騰出空間。然後,當它插入到開放地點的div,我會漂浮它的權利(因爲div需要插入右側),也是一個margin-top無論多少像素,直到它適合正確的開放地點。

我這個工作正常,但由於我的職位divs的寬度是百分比,而不是像素(我的職位是縮略圖,需要在決議中重新調整,所以我使用百分比),插入我的職位的div不會當窗口改變大小或者以不同的分辨率查看時,它們位於正確的位置...所以我做了什麼?更改每個div需要插入旁邊這些職位的邊際值爲百分比,而不是像素...這幾乎工作..唯一的問題是,當您重新調整您的瀏覽器,div插入到我的帖子會上移或下移5-20像素..這太糟糕了!

然後今天晚些時候,我有一個頓悟..它是用PHP插入這些帖子內的div而不是我愚蠢的CSS意識形態,我不知道它將如何完成,但我認爲這是可能的出於某種奇怪的原因。

因此,我需要做的將被插入這些所謂的「doublearticlewrapperad」在這些其他分區類是崗位DIV類..而這些崗位類被稱爲「doublearticlewrapper」。我希望能夠將我的doublearticlewrapperad div類放在其他doublearticlewrapper循環帖/ div類中。所以說,我想插入一個doublearticlewrapperad div在第6,29和40th doublearticlewrapper後div的..我想能夠輕鬆地做到這一點..如果這是可能的。

只是爲了澄清任何混淆..

doublearticlewrapperad = div的,我想是那些獲得通過我的WordPress循環顯示..和

articlewrapperad股利班後插入=被顯示爲帖子的div通過我的WordPress的循環。

如果有什麼辦法可以做到這一點,我認爲PHP將是正確的方式,但如果事實證明我錯了,並有另一種方法或不同的代碼來做到這一點,請讓我知道。而夥計們,任何幫助都會真正得到真正的讚賞,我真正的意思。

+0

60個帖子?這將花費大量的時間來加載... – Mooseman

+0

哈哈!它們都是縮略圖,所以它們不是真正的帖子,但它們是......當你在網站上看到它時,它並沒有那麼糟糕,因爲縮略圖在​​行中,每行有5個縮略圖...所以你得到了12行圖像/縮略圖或帖子或其他,這不是很糟糕..對不對? – Dyck

+0

它仍然有60個HTTP請求的圖像。如果你可以加載~20,然後懶加載剩下的部分,那麼這將是最好的,但我不知道如何與WordPress一起工作。 – Mooseman

回答

1

試試這個花蕾!

$count = 0; 
while (have_posts()) { 
    if (($count % 9) == 0) { //this will show anything you add on the condition in every 9th posts. 
     //code to output your doublearticlewrapperad should go here 
    } 
    // output the post 
    the_post(); 
    $count++; 
} 

乾杯!

1

我覺得像下面的東西應該工作。請注意,我刪除了您有的if語句,這很無用,因爲您隨後使用while語句重複檢查。

$insert_after = array(6,29,40); 
$post_count = 0; 
while (have_posts()) { 
    if (in_array($post_count, $insert_after)) { 
     //code to output your doublearticlewrapperad should go here 
    } 
    // output the post 
    the_post(); 
    $post_count++; 
} 
+0

棒極了的人,我要去測試一下..如果我在10-20分鐘內回到你身邊,這樣好嗎? – Dyck

+0

這根本不起作用..我把這個代碼放在我的loop代碼上面,用於doublearticlewrapper ..我得到的是至少25個div ..並且沒有在6,29或者40th div之後插入。他們都是作爲第一個divs一個接一個地放置..我不知道我是否做錯了什麼,但是這有點令人失望! :(..我只喜歡這些div中的5個..我希望它們被正確放置!不過,感謝迄今爲止的隊友 – Dyck

+0

@Dyck您接受的答案是我的複製和粘貼回答,除了在if循環中使用的變量名稱和條件的變化之外,你能澄清一下修正是什麼嗎? – ernie