2012-04-27 42 views
0

我正在一個自定義WordPress主頁上工作。 我希望它在標題中的不同div中加載。在wordpress中加載不同的div在家模板

標題現在爲每個頁面加載#content div。但是,如果主頁加載,我想讓它加載#contenthome div。

我使用這個PHP代碼:

<?php if (is_page_template('template-home.php')) { ?> 
<div id="contenthome"> 
<?php } else { ?> 
<div id="content"> 
<? } ?> 

我是相當新的PHP。所以我希望你們能幫助我:)

非常感謝。

回答

1

或者這樣:

if(is_home()) 
{ 
    <div id="contenthome"> 
<?php } else { ?> 
    <div id="content"> 
<? } ?> 

就個人而言,我更喜歡寫東西,速記,當談到這樣的情況下。還可以考慮使用這種縮短代碼:

<div id="<?php echo is_home() ? 'contenthome' : 'content'; ?>"> 

其他注意事項:如果你<身體>標籤具有WordPress的body_class()添加到它,你幾乎可以目標與CSS單獨的頁面,即使他們'使用相同的模板。主頁和其他頁面一樣,將應用一個唯一的主體類,然後允許您定位該特定頁面。

因此,如果您的問題只是能夠定位任何給定的頁面而不管使用CSS的模板,您不一定需要將任何獨特的div應用到您的頁面。例如:

<style type="text/css"> 
#content{display:block;} 
.home #content{display:none;} 
</style> 

這將只在主頁上隱藏內容div。這可能不是您希望它執行的操作,但是您可以看到該頁面本身是如何定位以覆蓋默認行爲的。

UPDATE:按照您最新的問題,如果你需要另一個特定頁面,使用條件,使用is_page()像這樣:

LONG CODE:

if(is_home() || is_page('posts_page_title')) 
{ 
    <div id="contenthome"> 
<?php } else { ?> 
    <div id="content"> 
<? } ?> 

簡寫:

<div id="<?php echo is_home() || is_page('posts_page_title') ? 'contenthome' : 'content'; ?>"> 

如果您願意,也可以使用is_page('posts_page_ID')或is_page('posts_page_slug')。玩弄它,看看最適合你的是什麼。更多的信息在這裏:http://codex.wordpress.org/Function_Reference/is_page

+0

很酷!這一個工作。非常感謝:) – Justinbernardus 2012-04-27 14:11:18

+0

很高興這有幫助。如果這包括您需要的一切,請標記爲已回答。 – maiorano84 2012-04-27 14:11:57

+0

我發現了一個更多的錯誤。我定義爲「帖子頁面」的頁面也使用contenthome div。如果解決這個問題怎麼辦? – Justinbernardus 2012-04-27 14:28:03

0

參照這個post試試這個....

$pagename = get_query_var('pagename'); 
if ($pagename = 'template-home.php') { 

<div id="contenthome"> 

<?php } else { ?> 

<div id="content"> 

<? } ?> 
0

好像你已經創建你的主題文件只是爲主頁,你把它叫做模板home.php

從這一點上,你有兩種選擇:

1)你可以定義一個常數(或變量),並決定只有當它被定義爲使用什麼格;如果你將使用一個變量,請記住,在header.php中你實際上是一個函數(get_header),你將需要使用全局訪問它

2)如果你預見到任何其他結構之間的差異主頁和其他wordpress之間的標題可以使用另一個文件作爲標題。要做到這一點,在你的模板home.php文件給出一個參數來get_header功能,如get_header(「家」)

如果你這樣做頭-home.php將加載代替的header.php