• WordPress教程:相关文章中去除当前文章ID方法

  • 发表时间:2018-07-12 17:37 | 秀站网 | 点击数:
  • 通常我们的wordpress都是调用全站的相关文章,当然也会包括当前文章,如何才能调用相关文章的时候去除当前文章呢?方法并不难,在调用函数里添加一句 post__not_in 即可实现,这个函数不要做太多解释,按字面就可以理解了。

    具体实施方法如下:

    <?php
    $backup = $post;
    $tags = wp_get_post_tags($post->ID);
    $tagIDs = array();
    if ($tags) {
    $tagcount = count($tags);
    for ($i = 0; $i < $tagcount; $i++) {
    $tagIDs[$i] = $tags[$i]->term_id;
    }
    $args=array(
    ‘tag__in’ => $tagIDs,
    ‘post__not_in’ => array($post->ID), //去除当前文章ID
    ‘showposts’ =>10,
    ‘caller_get_posts’=>1
    );
    $my_query = new WP_Query($args); ?>
    <div>
    <div>相关文章</div>
    <ul>
    <?php if( $my_query->have_posts() ) {
    while ($my_query->have_posts()) : $my_query->the_post(); ?>
    <li><a href=”<?php the_permalink() ?>” rel=”bookmark” target=”_self” title=”<?php the_title(); ?>”><?php the_title(); ?></a></li>
    <?php endwhile;
    } else { ?>
    <?php $recent=new WP_Query( “showposts=10&caller_get_posts=1&orderby=rand”); while($recent->have_posts()) : $recent->the_post();?>
    <li><a href=”<?php the_permalink() ?>” rel=”bookmark” target=”_self” title=”<?php the_title(); ?>”><?php the_title(); ?></a></li>
    <?php endwhile;    ?>
    <?php } ?>
    </ul>
    </div>
    <?php } else { ?>
    <div>
    <div>随机文章</div>
    <ul>
    <?php $recent=new WP_Query( “showposts=10&caller_get_posts=1&orderby=rand”); while($recent->have_posts()) : $recent->the_post();?>
    <li><a href=”<?php the_permalink() ?>” rel=”bookmark” target=”_self” title=”<?php the_title(); ?>”><?php the_title(); ?></a></li>
    <?php endwhile;    ?>
    </ul>
    </div>
    <?php } ?>
    <?php $post = $backup; wp_reset_query(); ?>

    这里我还用到了 wp_reset_query() ,这个是重置函数,不多做解释,可以用也可以不用。

    本文地址:

分享到:
  • 上一篇:移动应用广告的未来探索 下一篇:“轻轻松松”又一天 你当好了一名产品经理么?
  • 相关 明星娱乐 资讯
    精彩图库
    • 爱美
    • 健康
    • 情感
    • 美体