2013-05-28 95 views
2

我需要在WordPress中的single.php文件顯示帖子的作者。該參考指示the_author();只在循環中起作用。顯示作者姓名(WordPress的)

我一直在尋找其他的論壇並沒有什麼發現。

有什麼想法?

謝謝。

編輯:

<div class="bar_info"> 
     <?php echo "By: ".the_author(); ?> 
     <?php 
       foreach((get_the_category()) as $category) { 
        echo category->cat_name.', '; 
       } 
     ?> 
    </div> 
+0

我不明白這一點。你仍然在'single.php'中利用循環,所以你仍然可以使用'the_author();'或'get_the_author();',etch。 – Ohgodwhy

回答

6

在你single.php,你極有可能the_post()通話。你會發現WordPress的template tags此行之後會工作得很好。換句話說,您可以在single.php中使用the_author

編輯:根據你在你的問題已經更新的代碼,你需要把類似的東西在single.php頂部以下內容:

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

另外,如果你想若要在echo語句中使用作者姓名,請改爲使用get_the_authorthe_author實際上已經爲你回聲了。

+0

我在主要問題編輯的代碼和那裏是一個循環,是the_author不single.php中,但在PHP文件。 – Apalabrados

+0

不可思議.....如果包括這樣的行,它的工作原理! – Apalabrados

+1

太棒了。我很高興能夠提供幫助。 –

1

只要有一個$ post對象,你在技術上「循環」 - 即使在查詢對象,它是在single.php中的情況下只存在一個職位。只要你執行了the_post();模板標籤是可訪問的,所以the_author();將工作得很好。如果你想指向作者檔案the_author_posts_link();將輸出一個指向相應存檔的鏈接以及錨文本中的作者姓名。

更新:

此外您的代碼是錯誤的。 the_author回顯作者姓名,get_the_author()將其視爲變量。這會工作:

<?php the_post(); ?> 
    <div class="bar_info"> 
     By: <?php the_author(); ?> 
     <?php 
       foreach((get_the_category()) as $category) { 
        echo category->cat_name.', '; 
       } 
     ?> 
    </div> 

或者這也將工作:

 <?php the_post(); ?>  
    <div class="bar_info"> 
     echo "By: " . get_the_author(); 
       foreach((get_the_category()) as $category) { 
        echo category->cat_name.', '; 
       } 
     ?> 
    </div>