2014-01-26 67 views
0

在我的孩子主題中使用wordpress和編輯一些PHP代碼,並遇到了熱門帖子的側邊欄小部件的問題。WordPress的get_permalink()PHP鏈接不工作的外部鏈接的文章

在熱門帖子邊欄中精確顯示的每篇WordPress熱門博客帖子,點擊故事標題,即可進入我的博客上的單故事頁面

在此插件的正確的代碼鏈接到在widgets.php自己的博客帖子是:

if ($popular_posts->have_posts()) { 
     $result .= '<div class="post-popular"><ul class="list">'; 
     while ($popular_posts->have_posts()) { 
      $popular_posts->the_post(); 
      $comments_text = sprintf(_n('%1$s comment', '%1$s comments', get_comments_number(), APP_TD), get_comments_number()); 
      $result .= '<li><a href="' . get_permalink() . '">' . get_the_title() . '</a> - ' . $comments_text . '</li>'; 
     } 
     $result .= '</ul></div>'; 
    } 

由於這是受歡迎的文章的側邊欄部件,我想補充工具欄點擊直接進入外部網站爲每篇文章,而不是我的博客文章。

在每個博客文章中是直接外部鏈接到每個的實際文章。 這被標記爲每個帖子下面代碼article_out_url

我試過get_permalink下面的代碼編輯(),使其get_permalink($網址)去各個外部如如:

$url = get_post_meta($post->ID, 'article_out_url', true); 
$result .= '<li><a href="' . get_permalink($url) . '">' . get_the_title() . '</a> - ' . $comments_text . '</li>'; 

如下列:

if ($popular_posts->have_posts()) { 
     $result .= '<div class="post-popular"><ul class="list">'; 
     while ($popular_posts->have_posts()) { 
      $url = get_post_meta($post->ID, 'article_out_url', true); 
      $popular_posts->the_post(); 
      $comments_text = sprintf(_n('%1$s comment', '%1$s comments', get_comments_number(), APP_TD), get_comments_number()); 
      $result .= '<li><a href="' . get_permalink($url) . '">' . get_the_title() . '</a> - ' . $comments_text . '</li>'; 
     } 
     $result .= '</ul></div>'; 
    } 

但是,這並不工作。而不是去外部鏈接,點擊鏈接只是去我的根域。甚至沒有關於該主題的個人帖子。

我很難過。有關如何讓每篇文章鏈接轉到每篇文章的article_out_url網址的任何想法?謝謝。

回答

1

閱讀http://codex.wordpress.org/Function_Reference/get_permalink

內循環是當前職位。 外部循環你需要一個職位ID。

但它是您博客上的帖子。

我認爲解決方案比您想象的要容易。抓住網址,並將其粘貼在href中。你可能想修剪它。 (後元是有點垃圾垃圾了。)

+0

Rob,感謝您的評論。問題是我無法在href中放置一個直接的URL,因爲它是基於帖子的動態。 考慮到內部/外部環路,我認爲我做得很對,包括 $ url = get_post_meta($ post-> ID,'article_out_url',true); 在PHP文件中。 任何想法? – user3238691

1

get_permalink()只適用於WordPress的帖子和頁面,而不是外部鏈接。