找回密码
 立即注册

QQ登录

只需一步,快速开始

PropellerAds
⚡️按条S5代理⚡️静态⚡️独享⚡️5GMediabuy⚡️玩家开户首选【鲁班跨境通-自助充值转账】FB/GG/TT❤️官方免费开户
Affiliate 全媒体流量资源⚡️Taboola/Outbrain /Bing⚡️一级代理开户投流-7*24h❤️人工在线【官方】❤️搜索套利买量投流开户
独立站⚡️开户投放Google FB TK游戏代投⚡️E.PN 虚拟卡⚡️BINOM TRACKER 60% OFF!
比Adplexity还好用的Spy工具ADPLEXITY + ADVERTCN7200W全球动态不重复住宅IP代理全球虚拟卡, 支持U充值
【15 年团队 - 广告自动化系统、定制开发】【ActionKey】Meta API 桥接令牌尤里改 - FB 稳定投放【神盾 AI】Meta 广告资产防护 永久免费
FB 三不限源头 - 自助下户充值转款各种主页、账单户、BM户(优势)IPCola原生住宅IP⚡️$1.8/条双ISPFB资源,账单户,分享户,国内一手
TK加白户/二解户/FB海外户/GG老户最大欧洲Nutra网盟BA找量 FB高权重耐操个号⚡️稳定过审FB企业户海外户,授信户,TK加白户
联盟收款/海外资金下发/服贸结汇✔Taboola海外户源头全球效果广告投放平台|Vertoz IngeniousPlex广告位出租
查看: 8017|回复: 2

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

[复制链接]

129

主题

238

广告币

333

积分

初级会员

888888888888888

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

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

  1. <li class="widget widget_numberposts">
    3 [7 i" y" V2 h8 Z3 Y' J
  2. <h3>随遍看看吧</h3>  C* f7 k" z! E# y- s
  3. <ul>
    * `. ?( G, \1 G% k" x2 r
  4. <?php $rand_posts = get_posts('numberposts=8&orderby=rand');
    1 S4 ?* Q* i9 g5 \/ q
  5. foreach( $rand_posts as $post ) : ?>3 G% k+ h8 h2 J. ^. a$ [
  6. <li>
    ( v6 E4 X- h% N
  7. <a target="_blank" href="<?php the_permalink(); ?>"><?php the_title(); ?></a>
    ' \2 ]* [8 v3 V' M' K
  8. </li>
    ( o1 p+ N7 e* ^0 A
  9. <?php endforeach; ?>
    $ [# S' P, V3 M0 i( ^
  10. </ul>
复制代码

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


& A) W  b7 ~7 D+ i. w5 D1 g方法二:在随机文章中显示标题和文章摘要在需要显示的地方直接调用如下代码" Q* x9 y0 u5 j
  1. <?php
    ( Q9 P* Z, Y1 n0 C7 j" b) H
  2. query_posts(array(‘orderby’ => ‘rand’, ‘showposts’ => 1));
    * J  t! ~& J0 g6 H' {
  3. if (have_posts()) :
    / V: S4 U; |" q
  4. while (have_posts()) : the_post();( y1 T* \7 `( H( _% H
  5. the_title(); //这行去掉就不显示标题
    ( f. \$ v: Y8 j' W. h
  6. the_excerpt(); //去掉这个就不显示摘要了
    / b) s5 r6 l, p  }6 }' b/ s& ?
  7. endwhile;
    ' O# O0 N. Z8 A' R  t
  8. endif; ?>
复制代码
方法三:用query_posts生成随机文章列表

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

  1. <?php
    # m# V$ S. e8 m  O4 G% d
  2. query_posts(array(‘orderby’ => ‘rand’, ‘showposts’ => 2));
    5 r; ?  M: J% {  [% J. _
  3. if (have_posts()) :
    4 h6 @( t& H9 w; o  V
  4. while (have_posts()) : the_post();?>8 `9 l) b# m3 |7 o  t: \
  5. <a href=”<?php the_permalink() ?>”8 k0 x- }3 J* g8 M, e
  6.         rel=”bookmark”
    # T) A% w3 R0 J7 e
  7.         title=<?php the_title(); ?>”><?php the_title(); ?></a> 0 Q) C! t& D+ n$ r4 C
  8.         <?php comments_number(”, ‘(1)’, ‘(%)’); ?>6 T9 k6 f& N2 n6 I# v; _$ F
  9. <?php endwhile;endif; ?>
复制代码
方法四:在function.php中加入如下代码

在function.php中加入如下代码

  1. /**
      B5 D9 Q3 K$ A& L& d; J
  2. * 随机文章
    # @. \. N& {* ?4 K! t* `2 p, _
  3. */1 `0 t8 G; E" M$ R; E
  4. function random_posts($posts_num=5,$before='<li>',$after='</li>'){
    0 ?# Y: m0 y2 B
  5.         global $wpdb;
    - i, s/ R3 F, x4 p
  6.         $sql = "SELECT ID, post_title,guid
    6 Q2 t9 E2 p/ O$ h/ ?! h% C' r* W
  7.                         FROM $wpdb->posts$ O' a% Q! {7 o: r+ c! d4 n. {1 h
  8.                         WHERE post_status = 'publish' ";" ]/ @; n4 q  l. H0 B( ^
  9.         $sql .= "AND post_title != '' ";
    ) O/ @& E' L: W# X
  10.         $sql .= "AND post_password ='' ";) L5 Y* t/ m  G, o7 y. e
  11.         $sql .= "AND post_type = 'post' ";
    5 i5 }9 P1 y8 A* {: G- A  y3 R
  12.         $sql .= "ORDER BY RAND() LIMIT 0 , $posts_num ";4 C5 L8 F+ N' D; A$ G) ?
  13.         $randposts = $wpdb->get_results($sql);+ J" H. b% z; }* K% H1 A: w- c9 o
  14.         $output = '';, U% o) ]8 U/ E
  15.         foreach ($randposts as $randpost) {
    / s0 K" P1 l& m# e. P  {
  16.                 $post_title = stripslashes($randpost->post_title);0 Y& h/ r) G, T8 ?2 X1 v" \
  17.                 $permalink = get_permalink($randpost->ID);
    " e2 z" n; G+ g6 ]) r+ I: l
  18.                 $output .= $before.'<a href="'0 ]7 L1 J6 R! C1 T1 Q8 v
  19.                         . $permalink . '"  rel="bookmark" title="';2 T8 h7 Y. c& S4 l* J6 o6 q
  20.                 $output .= $post_title . '">' . $post_title . '</a>';
    3 ?+ ?& _7 N5 J$ O$ l* v  z
  21.                 $output .= $after;0 A. F' ?/ O  r
  22.         }
    ) }0 h* G# W! _5 x! ~/ W. J- g: A
  23.         echo $output;; r7 l2 D; H7 r. C1 u" d, q
  24. }
    , N& N. G8 T( q
  25. 在需要显示的地方调用如下代码
    4 Q8 a- E  V  G) _: j: \+ W
  26. <div>2 ?& Y8 i  X4 m* q. U/ t0 Q; O' I$ e
  27.         <h3>随便找点看看!</h3>6 _( Q% L* T0 d' W+ J9 S: U9 ?
  28.         <ul>
    9 m, p% }# v. V$ p5 V& s# o3 {7 J5 |! u7 }
  29.                 <?php random_posts(); ?>' Z6 W9 V, l0 W; @2 y* M
  30.         </ul>
    . c0 A/ {+ D& r1 d/ B. }( U, |  ~
  31. </div><!-- 随机文章 -->
复制代码
! M- y; p( T' A, W* F6 H& h6 X9 Z& _
# K. W4 y+ @& p" R2 l( B
2 l- r8 {  y! s/ d

评分

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

查看全部评分

相关帖子
vpsjq.com   
surveypayoutwatch.com
回复

使用道具 举报

3

主题

11

广告币

52

积分

初级会员

积分
52

社区QQ达人

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

使用道具 举报

101

主题

2408

广告币

4115

积分

金牌会员

积分
4115
发表于 2020-9-26 22:21:23 | 显示全部楼层
楼主应该给个demo或效果截图
+ B8 j7 h7 u" n) F* _# k% G$ M1 O( ^2 Q1 f3 w+ l5 o  r# i
谢谢!
已有1人评分           广告币           理由
     河小马         +10,000,000       太帅了
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-11-8 17:07 , Processed in 0.123208 second(s), 28 queries , Gzip On.

Copyright © 2001-2026, AdvertCN

Proudly Operating in Hong Kong.

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