2
那麼這裏是我正在使用的wordpress主題上顯示標題部分的代碼。如何在wordpress主題的不同頁面顯示不同的標誌?
<div id="site-branding" class="clearfix">
<?php
$logo = isset($options['logo'])? $options['logo']: '';
if ($logo == ""){
$hidetitle = $options['hide_title'];
if ($hidetitle == "No") {
if(!is_home() || !is_front_page()) { ?>
<div class="site-title"><a href="<?php echo esc_url(home_url('/')); ?>" title="<?php echo esc_attr(get_bloginfo('name', 'display')); ?>"><?php bloginfo('name'); ?></a></div>
<div class="site-description"><?php bloginfo('description'); ?></div>
<?php } else { ?>
<h1 class="site-title"><a href="<?php echo esc_url(home_url('/')); ?>" title="<?php echo esc_attr(get_bloginfo('name', 'display')); ?>"><?php bloginfo('name'); ?></a></h1>
<div class="site-description"><?php bloginfo('description'); ?></div>
<?php } }
} else {
echo '<div class="site-logo"><a href="'. esc_url(home_url('/')) .'">';
echo '<img title="'. get_bloginfo('name') .'" src="' . $logo .'" />';
echo '</a></div>';
} ?>
</div><!-- end #site-branding -->
此代碼的第一部分檢查徽標的存在。如果徽標不存在,則只會顯示主題的名稱和描述,前提是未將主題選項隱藏。它的名稱和描述的樣式和首頁在首頁/首頁上略有不同,而其他頁面則採用不同的風格。但是,如果徽標存在,它會在所有頁面上顯示徽標。
現在我要實現的是風格(與CSS)的LOGO不同的前/主頁上,而其他網頁我想一些額外的CSS類添加到標誌。
我試圖在上面的代碼的第二部分使用elseif語句,但無法獲得所需的結果。
請教我如何正確地做到這一點。
更新: 因爲我不能發佈答案給我自己的問題,我在這裏發佈。 那麼,我使用這段代碼刪除了一些PHP關閉元素,它的工作就像魅力。爲了確保沒有錯誤,我再次在此發佈它。
if(is_home() || is_front_page()) {
echo '<h1 class="site-logo"><a href="'. esc_url(home_url('/')) .'">';
echo '<img calss="mylogo1" title="'. get_bloginfo('name') .'" src="' . $logo .'" />';
echo '</a></h1>';
} else {
echo '<div class="site-logo"><a href="'. esc_url(home_url('/')) .'">';
echo '<img calss="mylogo2" title="'. get_bloginfo('name') .'" src="' . $logo .'" />';
echo '</a></div>';
} ?>
感謝您的提示。但回聲是出於PHP,但我認爲它應該在PHP內正常工作。我對PHP一無所知,但我使用了這段代碼,但它不起作用。該網站根本沒有加載。這就是爲什麼這麼說。 –
查看以上更新@ ajay-patel。順便說一句,非常感謝。你的答案奏效。一旦你告訴我在上面的代碼中沒有錯誤,我會給它一個投票。 –
@AamirUsman我不這麼認爲,在我的編輯器中試過沒有任何類型的語法錯誤 –