AdvertCN - 广告中国

 找回密码
 立即注册

QQ登录

只需一步,快速开始

PropellerAds
Google-Bing-Mediago-Criteo开户
⚡️按条S5代理⚡️静态⚡️独享⚡️5G广告专用虚拟卡/U充值/高返点皇家代理IP⚡️#1性价比⚡️
Mediabuy⚡️玩家开户首选【鲁班跨境通-自助充值转账】FB/GG/TT❤️官方免费开户Affiliate 全媒体流量资源⚡️
Taboola/Outbrain /Bing⚡️一级代理开户投流-7*24h❤️人工在线【官方】❤️搜索套利买量投流开户独立站⚡️开户投放
⚡️AdsPower:安全不封号,高效自动化⚡️E.PN 虚拟卡⚡️FB BM不限额,短id账单户BINOM TRACKER 60% OFF!
比Adplexity还好用的Spy工具ADPLEXITY + ADVERTCN7200W全球动态不重复住宅IP代理虚拟信用卡+独立站收款
全球虚拟卡, 支持U充值Facebook 批量上广告尤里改 - FB 稳定投放免费黑五教程(持续更新、欢迎交流)
FB 三不限源头 - 自助下户充值转款各种主页、账单户、BM户(优势)⚡️TikTok企业户,bm户,账单户提供TK企业新户老户、谷歌新户老户
FB虚拟卡⚡️消费越多返现越多最大欧洲Nutra网盟BA找量优质住宅/移动代理/高匿名/高性能TK白名单老户|兼职广告可投
⚡比特指纹浏览器+云手机, 4.5折起T3NZU:定义应用网盟新时代FB个人号源头服务商寻找顶级电商?AdsBranded等你!
TK老户/国内外端口/预审/加白广告位出租8500万高质量住宅IP,助力各种需求虚拟卡返佣1%,国内持牌机构
查看: 7525|回复: 2

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

[复制链接]

122

主题

199

广告币

291

积分

初级会员

888888888888888

Rank: 2

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

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

  1. <li class="widget widget_numberposts">
    ) o+ t4 G/ }2 ]* m5 A+ Z6 a
  2. <h3>随遍看看吧</h3>
    * w5 @- [* S7 x7 t6 P
  3. <ul>
    . l( s! L  u0 p5 a, V. N
  4. <?php $rand_posts = get_posts('numberposts=8&orderby=rand');' g3 P9 t: e( R  s/ r* z
  5. foreach( $rand_posts as $post ) : ?>& O9 c; w" R2 q! }. c' p8 Q4 m
  6. <li>. B3 K- s6 O$ [  Y
  7. <a target="_blank" href="<?php the_permalink(); ?>"><?php the_title(); ?></a>
    ; _! @7 s# b8 {; a% i
  8. </li>
    ' I+ y6 P- k! y6 U/ z
  9. <?php endforeach; ?>/ l1 Y* e3 y4 G& ^: c
  10. </ul>
复制代码

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

! P6 C8 M5 t4 a' r
方法二:在随机文章中显示标题和文章摘要在需要显示的地方直接调用如下代码# W1 H. z3 ?( D" |6 Y2 z
  1. <?php% l4 l5 \! ^5 K6 A
  2. query_posts(array(‘orderby’ => ‘rand’, ‘showposts’ => 1));. ]( ^9 o2 g+ g& H) [2 z
  3. if (have_posts()) :! Q) A  N' Q* t
  4. while (have_posts()) : the_post();
    . u9 h% K3 e/ T. C( `6 N
  5. the_title(); //这行去掉就不显示标题2 a& Q) U2 x$ a9 C2 U3 r
  6. the_excerpt(); //去掉这个就不显示摘要了/ E7 H4 n) f# T% `9 J
  7. endwhile;
    8 D" b: o9 ]2 R. @: @" k
  8. endif; ?>
复制代码
方法三:用query_posts生成随机文章列表

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

  1. <?php% R9 s6 h1 n8 p' u
  2. query_posts(array(‘orderby’ => ‘rand’, ‘showposts’ => 2));' D* C3 `) _6 I1 |1 ~
  3. if (have_posts()) :  b& G4 R. D3 n0 I) s
  4. while (have_posts()) : the_post();?>$ T* }1 D. B4 M5 K
  5. <a href=”<?php the_permalink() ?>”- b& U, z, g3 d1 f* c5 a* L
  6.         rel=”bookmark”
    6 d* a3 [; H6 o1 x6 p+ D1 y
  7.         title=<?php the_title(); ?>”><?php the_title(); ?></a>
    6 X9 r3 y; b) \4 R: n& P0 S. P9 p. }
  8.         <?php comments_number(”, ‘(1)’, ‘(%)’); ?>
    ; K' L5 B$ Y" `' s, V. I
  9. <?php endwhile;endif; ?>
复制代码
方法四:在function.php中加入如下代码

在function.php中加入如下代码

  1. /**; }/ e0 x# x: M6 p2 p2 m6 a# `
  2. * 随机文章2 u. x+ U- I$ Z0 K4 e/ ^) ^
  3. */* V7 ^3 x5 z8 `- a& J
  4. function random_posts($posts_num=5,$before='<li>',$after='</li>'){9 G8 c: F/ a1 U) v; y
  5.         global $wpdb;$ n2 ?+ z7 i4 q8 M
  6.         $sql = "SELECT ID, post_title,guid
    0 _# x$ v. G2 q( |5 Q
  7.                         FROM $wpdb->posts2 A2 H0 w* f# b/ B1 K% ^
  8.                         WHERE post_status = 'publish' ";
    / V# C5 ^4 w. T& {0 D6 B. I
  9.         $sql .= "AND post_title != '' ";
    5 w, M( h) J3 N( ^; o$ ]
  10.         $sql .= "AND post_password ='' ";- |! v7 Y' A" i5 |2 v
  11.         $sql .= "AND post_type = 'post' ";
    4 r9 _9 y3 p& ?
  12.         $sql .= "ORDER BY RAND() LIMIT 0 , $posts_num ";
    1 \% z) B+ }+ F$ s
  13.         $randposts = $wpdb->get_results($sql);
    - D; `  q- ^* N9 z$ o: s
  14.         $output = '';
    $ X; T! g8 U; P' ~' {  ^& X5 {
  15.         foreach ($randposts as $randpost) {
      a" F3 P" k+ e7 [! Q7 S
  16.                 $post_title = stripslashes($randpost->post_title);8 ^/ Q2 S' V# r
  17.                 $permalink = get_permalink($randpost->ID);- u! R) S7 a, S3 M2 `
  18.                 $output .= $before.'<a href="'; o% \. w2 U4 i% Y
  19.                         . $permalink . '"  rel="bookmark" title="';- s- Y* K3 H: O# K3 e8 k
  20.                 $output .= $post_title . '">' . $post_title . '</a>';( S' i- L5 @6 m3 g
  21.                 $output .= $after;3 s; w0 S' ]  g; k9 `, Q. Z7 }
  22.         }
    8 [% C! P/ h* p1 x% G8 P. K' n
  23.         echo $output;
    $ x9 S5 e5 t0 Z3 p1 [
  24. }0 u$ O) K# B# n4 A% q- e
  25. 在需要显示的地方调用如下代码
    : f0 d7 [, {' A1 T. O$ F
  26. <div>
    ( }5 w& }* ^0 d! I; f: N
  27.         <h3>随便找点看看!</h3>
    ( K$ t& C- ?, g  J* d8 l9 b
  28.         <ul>
    # p2 X3 \: o! x: B' y) R
  29.                 <?php random_posts(); ?>1 M. o6 m. u2 \
  30.         </ul>
    + h$ t( G% g6 \$ I8 A% ]
  31. </div><!-- 随机文章 -->
复制代码

9 v3 N/ _" r' U$ R, O: `, u2 x( F/ E8 g7 K) j
1 s1 U7 S+ p7 n! u! U

评分

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

查看全部评分

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

使用道具 举报

3

主题

11

广告币

52

积分

初级会员

Rank: 2

积分
52

社区QQ达人

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

使用道具 举报

99

主题

2019

广告币

3655

积分

金牌会员

Rank: 6Rank: 6

积分
3655
发表于 2020-9-26 22:21:23 | 显示全部楼层
楼主应该给个demo或效果截图
" o, c" L8 Y% T/ ~9 Q5 z5 `  a" j3 @, g7 w. T2 J" F6 E2 f
谢谢!
已有1人评分           广告币           理由
     河小马         +10,000,000       太帅了
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-12-15 22:14 , Processed in 0.052162 second(s), 17 queries , Gzip On, MemCache On.

Copyright © 2001-2023, AdvertCN

Proudly Operating in Hong Kong.

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