AdvertCN - 广告中国

 找回密码
 立即注册

QQ登录

只需一步,快速开始

PropellerAds
⚡️按条S5代理⚡️静态⚡️独享⚡️5G⚡️AdsPower:安全不封号,高效自动化Mediabuy⚡️玩家开户首选【鲁班跨境通-自助充值转账】
FB/GG/TT❤️官方免费开户Affiliate 全媒体流量资源⚡️Taboola/Outbrain /Bing⚡️一级代理开户投流-7*24h❤️人工在线
【官方】❤️搜索套利买量投流开户独立站⚡️开户投放FB BM不限额,短id账单户E.PN 虚拟卡
BINOM TRACKER 60% OFF!比Adplexity还好用的Spy工具ADPLEXITY + ADVERTCN7200W全球动态不重复住宅IP代理
虚拟信用卡+独立站收款全球虚拟卡, 支持U充值各种主页、账单户、BM户(优势)⚡️个人户,bm户不限额,账单户
FB企业户,TT老户,GG老户源头海外CL企业户源头PTM虚拟卡[全新卡BIN+高返点]PTM虚拟卡[OPENAI+全场景通用]
FB虚拟卡⚡️消费越多返现越多【找量】BA独家Nutra单找量虚拟FB卡 ⚡️ 透明条件 广告位出租
8500万高质量住宅IP,助力各种需求   
查看: 7411|回复: 2

[WP教程] 四种实现wordpress不用插件调用随机文章的 方法

[复制链接]

122

主题

199

广告币

291

积分

初级会员

888888888888888

Rank: 2

积分
291
发表于 2017-12-1 21:23:58 | 显示全部楼层 |阅读模式
Lemft
方法一:代码最简单的方法

在需要显示的地方直接调用如下代码(张自然现在就用这种方法,经张自然修改后,兼容inove系列主题

  1. <li class="widget widget_numberposts">
    , s) H0 o0 ^' c2 d  x3 l7 [9 f
  2. <h3>随遍看看吧</h3>5 ?& K; X3 R# Z5 G8 B# F  O" a
  3. <ul>; J, {: H" o% Z& G2 N7 S& f7 N9 ?; D) ^
  4. <?php $rand_posts = get_posts('numberposts=8&orderby=rand');
    8 ^3 A; p* I) |2 t' K# Q/ b" J( @
  5. foreach( $rand_posts as $post ) : ?>
    ; I/ P: _. Z* G/ L: L2 T: O! k1 o
  6. <li>5 W7 L9 G- ?# }3 F& U4 s- q
  7. <a target="_blank" href="<?php the_permalink(); ?>"><?php the_title(); ?></a>: T/ K3 q, j% @2 g9 }$ {; g- }* G& q
  8. </li>: C' q6 Z  N6 [( q2 K
  9. <?php endforeach; ?>
    . W# d& K" O7 B1 s1 j6 F
  10. </ul>
复制代码

这个方法虽然简单,但用到了get_posts,如果将代码放在子页模板里,在他之后的代码,比如如果在后面同时调用了当前文章的评论,那评论内容很可能,出现的是最后一个随机到的文章的评论,而非当前文章的评论。


3 |5 [- H0 I' x) y9 Z5 ^# H* S; \; n" |方法二:在随机文章中显示标题和文章摘要在需要显示的地方直接调用如下代码
; ], i$ N% f# S5 j
  1. <?php
    ' r1 [* k/ L3 q( t1 o) {
  2. query_posts(array(‘orderby’ => ‘rand’, ‘showposts’ => 1));
    : h: ?( d5 W/ ?( F5 l* X+ ^" c# j
  3. if (have_posts()) :" M) s1 i, i2 i7 f9 q. `: U
  4. while (have_posts()) : the_post();
    5 Q7 y- b* Y* d+ S
  5. the_title(); //这行去掉就不显示标题# {8 a% \+ k, e* o9 K+ x
  6. the_excerpt(); //去掉这个就不显示摘要了
    0 j( A/ x4 y4 p: j. M+ G7 ]) n% A2 p
  7. endwhile;
    , A' u/ V+ |  n8 d3 V: i7 l: |
  8. endif; ?>
复制代码
方法三:用query_posts生成随机文章列表

在需要显示的地方直接调用如下代码

  1. <?php
    5 V1 B0 t) p7 f' F+ m. j7 e5 Y
  2. query_posts(array(‘orderby’ => ‘rand’, ‘showposts’ => 2));0 `, L9 ^' R5 m: b0 p# o7 |
  3. if (have_posts()) :% k( a8 }% Z% p' z# {3 e
  4. while (have_posts()) : the_post();?>
    7 H# e7 U5 h+ y2 N" J9 T
  5. <a href=”<?php the_permalink() ?>”1 t% l% r- L, E7 b! u. n
  6.         rel=”bookmark”
    4 M% K6 T$ y  w
  7.         title=<?php the_title(); ?>”><?php the_title(); ?></a>
    ; n0 J/ @+ z" W7 n
  8.         <?php comments_number(”, ‘(1)’, ‘(%)’); ?>: u. Q1 \2 E( t) {; T0 s7 Z3 R
  9. <?php endwhile;endif; ?>
复制代码
方法四:在function.php中加入如下代码

在function.php中加入如下代码

  1. /**
    $ I) b: }) E. m2 u
  2. * 随机文章/ J  u5 ?+ F/ x* F1 i
  3. */
    ; Y$ h# K& B) t3 G( u, \, y( h. K
  4. function random_posts($posts_num=5,$before='<li>',$after='</li>'){8 b* z7 ^8 @9 n
  5.         global $wpdb;  o2 R& _) J% A* d" I
  6.         $sql = "SELECT ID, post_title,guid/ M& Y1 e: m, ^$ ?5 C0 ?$ N
  7.                         FROM $wpdb->posts  d/ f* z# R% ^
  8.                         WHERE post_status = 'publish' ";
    # j9 E( i. [/ X0 @
  9.         $sql .= "AND post_title != '' ";
    * T9 _7 i, k. x% T6 D
  10.         $sql .= "AND post_password ='' ";
    - e- |! @: X# i' G% ^2 w
  11.         $sql .= "AND post_type = 'post' ";7 W$ H! s: p: X4 H8 P9 I
  12.         $sql .= "ORDER BY RAND() LIMIT 0 , $posts_num ";; {9 d0 U2 W+ i/ ?0 L  W# u
  13.         $randposts = $wpdb->get_results($sql);' _, @5 {" }9 @7 i( e" u
  14.         $output = '';& R0 Q1 @) j/ y! _
  15.         foreach ($randposts as $randpost) {
    , L; V% A/ _$ K2 g. L# o
  16.                 $post_title = stripslashes($randpost->post_title);
    5 W& r$ z7 }) ~# G- m
  17.                 $permalink = get_permalink($randpost->ID);; P3 \4 Y5 m0 a' q: R
  18.                 $output .= $before.'<a href="'* `3 C+ F7 F) l+ W" u6 [' H/ }
  19.                         . $permalink . '"  rel="bookmark" title="';1 V, v+ E( D6 b5 T
  20.                 $output .= $post_title . '">' . $post_title . '</a>';
    & a/ @/ A4 w4 w" ?
  21.                 $output .= $after;
    : Z3 T' k, l* p6 |  N8 a
  22.         }7 C. t" {5 S* g4 F
  23.         echo $output;& u5 u. R2 z( }5 w0 G
  24. }9 L+ E+ B& ~0 D/ a* [
  25. 在需要显示的地方调用如下代码* c; a, ~0 h6 |0 ^
  26. <div>1 {  c8 f* {' @/ r
  27.         <h3>随便找点看看!</h3>
    4 c& G8 T4 J- U
  28.         <ul>5 g6 x" P0 g9 b4 H
  29.                 <?php random_posts(); ?>/ f( c- `' A( a
  30.         </ul>
    7 R( G' O7 Y# ]# y) m! [4 M! n
  31. </div><!-- 随机文章 -->
复制代码
& o7 c! g  t: f; Y
: {0 x; J, U# I- j) t: ~+ T

  G% t1 D. @' @! S/ V

评分

参与人数 1广告币 +5 收起 理由
风儿 + 5

查看全部评分

相关帖子
wzdh1973.com     mywz999.com
回复

使用道具 举报

3

主题

11

广告币

52

积分

初级会员

Rank: 2

积分
52

社区QQ达人

发表于 2017-12-2 17:06:03 | 显示全部楼层
回复 支持 反对

使用道具 举报

97

主题

1948

广告币

3530

积分

金牌会员

Rank: 6Rank: 6

积分
3530
发表于 2020-9-26 22:21:23 | 显示全部楼层
楼主应该给个demo或效果截图2 M/ W. a2 \) \4 g
. W3 F, h. o  R# n) h+ ~
谢谢!
已有1人评分           广告币           理由
     河小马         +10,000,000       太帅了
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关于我们|联系我们|DMCA|广告服务|小黑屋|手机版|Archiver|Github|网站地图|AdvertCN

GMT+8, 2025-10-10 21:10 , Processed in 0.054849 second(s), 20 queries , Gzip On, MemCache On.

Copyright © 2001-2023, AdvertCN

Proudly Operating in Hong Kong.

快速回复 返回顶部 返回列表