zoukankan      html  css  js  c++  java
  • 五个wordpress调用随机文章的方法

    分享几个WordPress不用插件调用随机文章的方法,不仅增强用户粘性,而且当蜘蛛来爬你的文章的时候每次都会有变化,搜索引擎很喜欢。主要用到的是orderby rand参数,下面就随ytkah一起来看看吧

      1、最直接的用法,在需要的位置放入下面的代码。

    1
    2
    3
    4
    5
    6
    <?php
    $args array'numberposts' => 5, 'orderby' => 'rand''post_status' => 'publish' );
    $rand_posts = get_posts( $args );
    foreach$rand_posts as $post ) : ?>
        <li><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></li>
    <?php endforeach; ?>

      2、用query_posts生成随机文章列表

    1
    2
    3
    4
    5
    6
    7
    <?php
    query_posts(array('orderby' => 'rand''showposts' => 2));
    if (have_posts()) :
        while (have_posts()) : the_post();?>
            <a href="<?php the_permalink() ?>" rel="bookmark"><?php the_title(); ?></a>
        <?php endwhile; ?>
    <?php endif; ?>

      

    1
    2
    3
    4
    5
    6
    7
    8
    <?php
    query_posts(array('orderby' => 'rand''showposts' => 1));
    if (have_posts()) :
    while (have_posts()) : the_post();
    the_title(); //这行去掉就不显示标题
    the_excerpt(); //去掉这个就不显示摘要了
    endwhile;
    endif; ?>

      3、调用同分类随机文章

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <?php
    $cat = get_the_category();
    foreach($cat as $key=>$category){
    $catid $category->term_id;
    }
    $args array('orderby' => 'rand','showposts' => 8,'cat' => $catid );
    $query_posts new WP_Query();
    $query_posts->query($args);
    while ($query_posts->have_posts()) : $query_posts->the_post();
    ?>
    <li><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></li>
    <?php endwhile;?>
    <?php wp_reset_query(); ?>

      4、用wp_query函数

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    <?php
                        $args array(
                            'post_type' => 'post',
                            'showposts' => 4,
                            'orderby' => 'rand',
                            'cat' => -36,//除了id为36的分类
                        );
                        $my_query new WP_Query($args);
                        if$my_query->have_posts() ) {
                            while ($my_query->have_posts()) : $my_query->the_post(); ?>
                                <div class="item">
                                    <a href="<?php the_permalink(); ?>" class="box">
                                        <?php the_post_thumbnail( array(285,360) ); ?>
                                        <div class="text">
                                            <strong><?php the_title();?></strong>
                                        </div>
                                    </a>
                                </div>
                            <?php endwhile; wp_reset_query(); } ?>

      

      5、主题function定义

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    /**
     * 随机文章
     */
    function random_posts($posts_num=5,$before='<li>',$after='</li>'){
        global $wpdb;
        $sql = "SELECT ID, post_title,guid
                FROM $wpdb->posts
                WHERE post_status = 'publish' ";
        $sql .= "AND post_title != '' ";
        $sql .= "AND post_password ='' ";
        $sql .= "AND post_type = 'post' ";
        $sql .= "ORDER BY RAND() LIMIT 0 , $posts_num ";
        $randposts $wpdb->get_results($sql);
        $output '';
        foreach ($randposts as $randpost) {
            $post_title stripslashes($randpost->post_title);
            $permalink = get_permalink($randpost->ID);
            $output .= $before.'<a href="'
                $permalink '"  rel="bookmark" title="';
            $output .= $post_title '">' $post_title '</a>';
            $output .= $after;
        }
        echo $output;
    }

      然后在想要显示随机文章的地方加入如下代码

    1
    2
    3
    4
    5
    6
    <div class="right">
        <h3>随便找点看看!</h3>
        <ul>
            <?php random_posts(); ?>
        </ul>
    </div><!-- 随机文章 -->
  • 相关阅读:
    远程视频监控之应用篇(mjpg-streamer)
    C语言存储类型
    基于Qt的wifi智能小车的制作(一)
    libevent和基于libevent的网络编程
    fdisk 分区格式化为ext4格式分区
    Makefile 中:= ?= += =的区别
    【计算机网络】详解网络层(二)ARP和RARP
    Nginx 反向代理 负载均衡 虚拟主机配置
    C# 对文本文件的几种读写方法总结
    Visual Studio中Image Watch的使用
  • 原文地址:https://www.cnblogs.com/ypppt/p/13403577.html
Copyright © 2011-2022 走看看