使用wordpress并在我的子主题中编辑一些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)转到每个外部,例如:
$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网址的任何想法?感谢。
答案 0 :(得分:1)
阅读http://codex.wordpress.org/Function_Reference/get_permalink
内部循环它是当前的帖子。 外部循环你需要一个帖子ID。
但这是你博客上的帖子。
我认为解决方案比你想象的要容易。抓住网址,并将其粘贴在href中。你可能想修剪它。 (post meta在垃圾邮件中有点垃圾。)
答案 1 :(得分:1)
get_permalink()仅适用于WordPress帖子和页面,而不适用于外部链接。