按当前帖子的标签名称显示相关帖子

时间:2014-11-19 作者:Sanjay Nakate

我使用的是论文,我试图通过标签名显示相关帖子。

假设我有一个post,并且该post有三个标记或多个标记

标签式标签:-1)汽车,2)汽车,3)机械

所以我想通过汽车、汽车、机械的标签名称显示相关帖子。

我正在用论文挂钩尝试下面的代码,但它没有通过该帖子的标签名显示相关帖子,它显示的是另一个与该帖子的这三个标签没有任何联系的相关帖子。

所以任何人都可以告诉hot这样做。

我的功能代码:-

function tagpost(){
        global $post;
        $tag = get_the_tags();
        foreach ($tag as $tags){
                 ?>
       <div class="relatedpostAdd post<?php echo $tags->term_id; ?>">
        <h3 style="margin:5px 0 "><?php echo $tags->name; ?></h3>
    <ul>
<?php
        $posts = get_posts(\'numberposts=6&term_id=\'. $tags->term_id);
        foreach($posts as $post) {
        ?>
    <li>
    <div class="images_releted">
        <a class="post_thumbnail" href="<? the_permalink()?>" rel="bookmark" 
          title="<?php the_title(); ?>">
        <?php echo the_post_thumbnail(\'thumbnail\') ?>
        </a>
    </div>
        <a class="post_thumbnail_link" href="<? the_permalink();?>" rel="bookmark" 
         title="<?php the_title(); ?>">
        <?php the_title(); ?></a>               
    </li>

<?php } ?>
    </ul>
  </div>
<?php } 
}
add_action(\'thesis_hook_after_post_box_related_posts\',\'tagpost\');

1 个回复
最合适的回答,由SO网友:Pieter Goosen 整理而成

如评论中所述get_posts 参数是错误的。不存在以下参数term_id. 你应该利用tag 将标记段塞用作字符串或tag__in 它使用数组中的标记ID

这会有用的

$posts = get_posts(\'numberposts=6&tag=\'. $tags->slug);
否则这就行了

$posts = get_posts(\'numberposts=6&tag__in=\' . array( $tags->term_id ));
我还想在这里强调一些其他问题

您应该在get_the_tags(). 像这样做get_the_tags( $post->ID );

将复数名称设置为变量名称,该变量名称将保留函数中的数组,并将单个名称用作value 在您的foreach 环这消除了混淆,并且更容易调试。如果你读到这个,$tags->name, 您会立即想到多个标记,但这用于检索特定标记的名称$tags 实际上是你的价值。你应该做这样的事情,我更容易理解,也不太容易混淆

$tags = get_the_tags();
foreach ( $tags as $tag ){
    echo $tag->name;
}

EDIT

要排除当前帖子,可以执行以下操作

$posts = get_posts(\'numberposts=6&tag__in=\' . array( $tags->term_id ) . \'&post__not_in=\' . array( $post->ID) );

结束

相关推荐

“NEXT_POSTS_LINK”和“PERVICE_POSTS_LINK”不显示任何内容

我试图在我的单曲中添加“上一篇文章”和“下一篇文章”的链接。php文件没有成功,因为前一个\\u posts\\u link和下一个\\u posts\\u link没有返回任何内容。老实说,我不知道这些按钮放在了什么地方。谢谢<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?> <div class=\"post-content\"> <?php the_title(