AdvertCN - 广告中国

 找回密码
 立即注册

QQ登录

只需一步,快速开始

PropellerAds
Google-Bing-Mediago-Criteo开户
⚡️按条S5代理⚡️静态⚡️独享⚡️5G广告专用虚拟卡/U充值/高返点皇家代理IP⚡️#1性价比⚡️
⚡️AdsPower:安全不封号,高效自动化Google FB TK游戏代投⚡️E.PN 虚拟卡⚡️BINOM TRACKER 60% OFF!
比Adplexity还好用的Spy工具ADPLEXITY + ADVERTCN7200W全球动态不重复住宅IP代理虚拟信用卡+独立站收款
全球虚拟卡, 支持U充值Facebook 批量上广告尤里改 - FB 稳定投放免费黑五教程(持续更新、欢迎交流)
FB 三不限源头 - 自助下户充值转款各种主页、账单户、BM户(优势)⚡️TikTok企业户,bm户,账单户IPCola原生住宅IP⚡️$1.8/条双ISP
FB海外户、GG老户、TK加白老户PTM虚拟卡[全新卡BIN+高返点]FB虚拟卡⚡️消费越多返现越多最大欧洲Nutra网盟BA找量
FB个号1块一个TikTok2审户/老户/国内外端口/加白SX.ORG 高质量代理⚡235+ 地区GG,FB,TK, 欧美源头, 欢迎合作❤️
跨境债务催收/风险代理DataImpulse⚡️纯净住宅代理仅 $1FB企业户海外户,授信户,TK加白户广告位出租
8500万高质量住宅IP,助力各种需求虚拟卡返佣1%,国内持牌机构  
查看: 7717|回复: 2

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

[复制链接]

122

主题

199

广告币

291

积分

初级会员

888888888888888

Rank: 2

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

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

  1. <li class="widget widget_numberposts">$ R  p1 W7 ?; S# _2 [, Z8 q4 Y
  2. <h3>随遍看看吧</h3>
    5 z5 D$ _) E! o0 e3 h
  3. <ul>
    9 {. d* d( h6 C
  4. <?php $rand_posts = get_posts('numberposts=8&orderby=rand');( }4 R/ C. g0 M: V9 R! P& e: c
  5. foreach( $rand_posts as $post ) : ?>1 d8 k  f% m6 j8 _' J
  6. <li>8 V! N7 M; E# H4 ^$ G
  7. <a target="_blank" href="<?php the_permalink(); ?>"><?php the_title(); ?></a>2 {8 O7 A# {; q, C/ X
  8. </li># D- t* [! Z/ E! u
  9. <?php endforeach; ?>
    , X; N/ `# I' o/ {5 v
  10. </ul>
复制代码

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

7 j! k( \7 S9 V0 `' t, X
方法二:在随机文章中显示标题和文章摘要在需要显示的地方直接调用如下代码
: X$ \- y3 [$ O7 N
  1. <?php9 z$ V+ y  }& b
  2. query_posts(array(‘orderby’ => ‘rand’, ‘showposts’ => 1));
    2 O5 ?8 A- ^* ^1 z$ G4 }
  3. if (have_posts()) :
    ' |; H- U1 h8 k: ]  x) r% D) G8 H1 S* h
  4. while (have_posts()) : the_post();
    7 x' M. e. P( c" [$ @- Q6 z
  5. the_title(); //这行去掉就不显示标题1 z0 ?" Y, G. p7 c$ F, O  Q- u5 P
  6. the_excerpt(); //去掉这个就不显示摘要了
    ! a1 @$ U6 e: X
  7. endwhile;  A+ Y$ Y6 {- X1 h
  8. endif; ?>
复制代码
方法三:用query_posts生成随机文章列表

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

  1. <?php
    0 }1 `' V0 c  T0 ^  ^
  2. query_posts(array(‘orderby’ => ‘rand’, ‘showposts’ => 2));; ]4 Q0 @) `! q+ r1 m5 F
  3. if (have_posts()) :8 E3 b& [9 `- w' t
  4. while (have_posts()) : the_post();?>
    0 G  @0 m2 y5 c: X1 J
  5. <a href=”<?php the_permalink() ?>”
    * Y. e% y9 j+ a" A, k
  6.         rel=”bookmark”! M: b9 {1 E0 U, ^
  7.         title=<?php the_title(); ?>”><?php the_title(); ?></a>
    ' K- z' q& E# K% }7 s8 S1 o, M
  8.         <?php comments_number(”, ‘(1)’, ‘(%)’); ?># c+ k2 W2 \) v' _1 B$ Z% X" F
  9. <?php endwhile;endif; ?>
复制代码
方法四:在function.php中加入如下代码

在function.php中加入如下代码

  1. /**
    9 n6 q4 s9 }" c$ D% c  m- m
  2. * 随机文章
    4 J8 }8 [9 X. O8 p( e
  3. */8 w( B3 l. ~/ D, J
  4. function random_posts($posts_num=5,$before='<li>',$after='</li>'){7 A0 `5 \; Q* c( p. Q7 `9 m
  5.         global $wpdb;. I* M- A- U! q! u, H% k
  6.         $sql = "SELECT ID, post_title,guid- Z5 F- j, E, w; J5 @' \/ q( ~
  7.                         FROM $wpdb->posts
    , U! z& n# \  Z! \
  8.                         WHERE post_status = 'publish' ";
    6 P  I( `- d" F
  9.         $sql .= "AND post_title != '' ";
    & K* y) V3 }% L) a- K: p& D
  10.         $sql .= "AND post_password ='' ";
    3 q3 h' u9 f$ ]. m' X+ T
  11.         $sql .= "AND post_type = 'post' ";
    ) j' F- ~* w4 q9 ~, i
  12.         $sql .= "ORDER BY RAND() LIMIT 0 , $posts_num ";
      S  a4 q( W# N, A1 [' J  B
  13.         $randposts = $wpdb->get_results($sql);, `9 }$ V( A" O& R) z: G* p
  14.         $output = '';/ P# @% X) @- a7 c8 ]
  15.         foreach ($randposts as $randpost) {
    ; l( {$ Q' ?9 g: h4 X
  16.                 $post_title = stripslashes($randpost->post_title);6 ^4 a+ I  a: I
  17.                 $permalink = get_permalink($randpost->ID);- G* w" @0 L+ g0 y: S
  18.                 $output .= $before.'<a href="'
    & M5 ?5 S5 H& t# C4 ]: a1 X& V, m4 p
  19.                         . $permalink . '"  rel="bookmark" title="';. A0 x7 o8 W  W& B" b/ F6 g
  20.                 $output .= $post_title . '">' . $post_title . '</a>';3 Y# y7 Y% h' h, n
  21.                 $output .= $after;$ `6 o& q' h- s1 d& |6 |
  22.         }1 m* L' \  J. S9 C
  23.         echo $output;0 q6 N8 c2 x$ J% g) s
  24. }
    + n9 B9 q, T) ^
  25. 在需要显示的地方调用如下代码
    % X& m) G0 V6 ~" n0 R
  26. <div>: @* o2 z# ~1 V: C! ?
  27.         <h3>随便找点看看!</h3>
    # b. g" I  a* Z; l' v8 o
  28.         <ul>
    ! r9 R( N! C$ b4 l$ \* S
  29.                 <?php random_posts(); ?>8 i. h3 D; L# w) r
  30.         </ul>$ D0 i* p, J7 J$ ~" P% d
  31. </div><!-- 随机文章 -->
复制代码
; H, d( [) I0 |  }+ [: @
% P8 W/ a) g9 g) L5 f/ I# Q' I" g

9 b/ J" f4 |2 p0 G9 n

评分

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

查看全部评分

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

使用道具 举报

3

主题

11

广告币

52

积分

初级会员

Rank: 2

积分
52

社区QQ达人

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

使用道具 举报

100

主题

2155

广告币

3812

积分

金牌会员

Rank: 6Rank: 6

积分
3812
发表于 2020-9-26 22:21:23 | 显示全部楼层
楼主应该给个demo或效果截图
0 r: `/ ^' t# o" ^3 ~
0 D: H6 i$ `; u0 Q  c: A7 K7 y; A9 O谢谢!
已有1人评分           广告币           理由
     河小马         +10,000,000       太帅了
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-4-18 18:58 , Processed in 0.052673 second(s), 18 queries , Gzip On, MemCache On.

Copyright © 2001-2023, AdvertCN

Proudly Operating in Hong Kong.

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