2016-02-02 54 views
-3
<?php if (get_the_author_meta('description')) { ?> 
    <?php 
    $author_ID = get_the_author_meta('ID'); 
    $username = get_the_author_meta('display_name', $author_ID); ?> 

    <div class="mm-author-box"> 
     <figure class="mm-author-box-avatar"> 
      <?php echo get_avatar($author_ID, 70); ?> 
     </figure> 
     <?php if ($author_ID === 4) { ?> 
      <div class="mm-author-name"> 
       <a href="<?php echo "http://google.com" ?>"> <?php echo $username; ?> </a> 
      </div> 
      <div class="mm-author-bio"> 
       <?php echo get_the_author_meta('description'); ?> 
      </div> 
    </div> 
    <?php } ?> 
    <?php else { ?> 
     <?php if ($author_ID === 9) { ?> 
      <div class="mm-author-name"> 
       <a href="<?php echo "http://yahoo.com" ?>"> <?php echo $username; ?> </a> 
      </div> 
      <div class="mm-author-bio"> 
       <?php echo get_the_author_meta('description'); ?> 
      </div> 
     </div> 
     <?php } ?> 
<?php } ?> 

這是一個代碼來顯示作者名稱和超鏈接它。 如果作者有一個描述,從第一條if語句開始,然後進入 第二條if語句:如果作者ID是4,那麼執行下面的代碼如果不是那麼 否則,else語句中有一個額外的div,用於<div class="mm-author-box">這是if語句之外。 問題是,當我把這個代碼打破了頁面..只有網站的標題加載和它下面的內容並不是因爲我已經把這個代碼放在PHP文件,這是一個頁面內容的模板。 我認爲有一些語法問題因爲我使用沒有其他語句的代碼,它的工作。這個PHP如果我的網站上的其他代碼不起作用

+0

你得到任何錯誤? ([啓用錯誤報告PHP](http://stackoverflow.com/questions/1053424/how-do-i-get-php-errors-to-display) – Mathlight

回答

0

我不知道模板引擎有多嚴格,但這可能是問題;

<div class="mm-author-bio"> 
      <?php echo get_the_author_meta('description'); ?> 
     </div> 
</div> 
<?php } ?> 

你正在關閉div內的div是否在div外啓動。因此,地方持續</div><?php } ?>下面,看看是否有幫助

<?php if (get_the_author_meta('description')) { 
    $author_ID = get_the_author_meta('ID'); 
    $username = get_the_author_meta('display_name', $author_ID); ?> 

    <div class="mm-author-box"> 
     <figure class="mm-author-box-avatar"> 
      <?php echo get_avatar($author_ID, 70); ?> 
     </figure> 
     <?php if ($author_ID === 4) { ?> 
      <div class="mm-author-name"> 
       <a href="<?php echo "http://google.com" ?>"> <?php echo $username; ?> </a> 
      </div> 
      <div class="mm-author-bio"> 
       <?php echo get_the_author_meta('description'); ?> 
      </div> 
     <?php } else if ($mh_author_ID === 9) { ?> 
      <div class="mm-author-name"> 
       <a href="<?php echo "http://yahoo.com" ?>"> <?php echo $username; ?> </a> 
      </div> 
      <div class="mm-author-bio"> 
       <?php echo get_the_author_meta('description'); ?> 
      </div>  
     <?php } ?> 
    </div> 
<?php } ?> 

而作爲AnkiiG指出的那樣,你錯過了關閉標籤,這是我固定不知道而格式化我的回答

1

你錯過關閉最後一個花括號。下面添加行的最後一行,並嘗試:

<?php } ?> 
+0

我歡迎你,同伴minion! – Mathlight

+0

:)謝謝@ Mathlight – AnkiiG

0

if else結構是這樣的,

<?php if (get_the_author_meta('description')) { ?> 

    <?php if ($author_ID === 4) { ?> 

<?php } ?> 
<?php else { ?> 
    <?php if ($mh_author_ID === 9) { ?> 

    <?php } ?> 

你不關閉第一if聲明

+0

您在別的之前錯過了支架。 <?php else {?>在我的代碼中檢查第6行。 –

相關問題