AdvertCN - 广告中国

 找回密码
 立即注册

QQ登录

只需一步,快速开始

PropellerAds
Google-Bing-Mediago-Criteo开户
⚡️按条S5代理⚡️静态⚡️独享⚡️5G广告专用虚拟卡/U充值/高返点皇家代理IP⚡️#1性价比⚡️
Mediabuy⚡️玩家开户首选【鲁班跨境通-自助充值转账】FB/GG/TT❤️官方免费开户Affiliate 全媒体流量资源⚡️
Taboola/Outbrain /Bing⚡️一级代理开户投流-7*24h❤️人工在线【官方】❤️搜索套利买量投流开户独立站⚡️开户投放
⚡️AdsPower:安全不封号,高效自动化Google FB TK游戏代投⚡️E.PN 虚拟卡⚡️BINOM TRACKER 60% OFF!
比Adplexity还好用的Spy工具ADPLEXITY + ADVERTCN7200W全球动态不重复住宅IP代理虚拟信用卡+独立站收款
全球虚拟卡, 支持U充值各种主页、账单户、BM户(优势)⚡️TikTok企业户,bm户,账单户IPCola原生住宅IP⚡️$1.8/条双ISP
FB海外户、GG老户、TK加白老户PTM虚拟卡[全新卡BIN+高返点]FB虚拟卡⚡️消费越多返现越多最大欧洲Nutra网盟BA找量
高品质·稳定高速纯净IP FB个号1块一个TikTok2审户/老户/国内外端口/加白SX.ORG 高质量代理⚡235+ 地区
GG,FB,TK, 欧美源头, 欢迎合作❤️跨境债务催收/风险代理高权重Google老户[卖户+筛户等级] 海外斗篷・智能广告过审率高达 99%
DataImpulse⚡️纯净住宅代理仅 $1FB企业户海外户,授信户,TK加白户广告位出租8500万高质量住宅IP,助力各种需求
虚拟卡返佣1%,国内持牌机构   
查看: 7691|回复: 2

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

[复制链接]

122

主题

199

广告币

291

积分

初级会员

888888888888888

Rank: 2

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

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

  1. <li class="widget widget_numberposts">
    7 D. B# e" R8 h( B
  2. <h3>随遍看看吧</h3>- l& a& I- H& {5 y5 i3 D0 E
  3. <ul>
    " y4 @- P% W' u% `' W# X! {1 I
  4. <?php $rand_posts = get_posts('numberposts=8&orderby=rand');, N4 H4 |( E7 v3 b. I" ^% ^& h) L0 I
  5. foreach( $rand_posts as $post ) : ?>
    6 Q, Z2 n8 q2 L  a" ?
  6. <li>* k' `, f3 `  E" b, C! }
  7. <a target="_blank" href="<?php the_permalink(); ?>"><?php the_title(); ?></a>
    2 ^' R4 P9 l; p9 \
  8. </li>/ O. H3 p& {4 m' r
  9. <?php endforeach; ?>: F) C) r! r4 I; K6 ]2 E, {) L
  10. </ul>
复制代码

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


4 c8 w3 H+ e) M7 {8 I9 E方法二:在随机文章中显示标题和文章摘要在需要显示的地方直接调用如下代码
, s5 n( o% W; t
  1. <?php% G& B0 @5 T9 h& W  W% N
  2. query_posts(array(‘orderby’ => ‘rand’, ‘showposts’ => 1));
    # ]  A. r' H" u
  3. if (have_posts()) :) L0 E6 L  Q/ W9 _% q! ]) Q" k: d
  4. while (have_posts()) : the_post();
    3 c1 r& w% A/ Z6 h) _
  5. the_title(); //这行去掉就不显示标题
    " ~; Z2 m* C4 S" c/ m. v8 w. G
  6. the_excerpt(); //去掉这个就不显示摘要了
    + H& T1 ?! ~3 \+ Q7 s+ Q
  7. endwhile;
    ! v! y* h8 R8 t" o+ ~/ f# g
  8. endif; ?>
复制代码
方法三:用query_posts生成随机文章列表

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

  1. <?php7 q( r" }! H) E
  2. query_posts(array(‘orderby’ => ‘rand’, ‘showposts’ => 2));
    8 h$ w/ r. _$ a# F
  3. if (have_posts()) :
    % ?4 [/ g( D- n1 ^5 o9 @
  4. while (have_posts()) : the_post();?>
    9 V' k' x/ ]4 L$ O8 @
  5. <a href=”<?php the_permalink() ?>”
    : o" Q( X) W) G7 x/ F: d# ^" B
  6.         rel=”bookmark”9 j$ }; v" _% s1 n
  7.         title=<?php the_title(); ?>”><?php the_title(); ?></a>
    2 v% d: W7 L  K# x3 q& S2 |& B
  8.         <?php comments_number(”, ‘(1)’, ‘(%)’); ?>* e+ B9 X/ ?- L" a1 j! C; O
  9. <?php endwhile;endif; ?>
复制代码
方法四:在function.php中加入如下代码

在function.php中加入如下代码

  1. /**
    4 k1 F' M( M% J) Q* m1 B1 v
  2. * 随机文章
    # D2 S$ e$ E* }
  3. */
    " w' n, y% B; c0 D8 q
  4. function random_posts($posts_num=5,$before='<li>',$after='</li>'){0 l/ ^/ D1 Y4 I$ \- M
  5.         global $wpdb;
    ) @( D, u) c: J! D- `% I' ?
  6.         $sql = "SELECT ID, post_title,guid
    ' Z2 e( g8 Y; Q" G( v0 ]; W
  7.                         FROM $wpdb->posts
    ; e, g& Y% Z, p* `
  8.                         WHERE post_status = 'publish' ";, }  G  z5 J# |2 ^0 i- d
  9.         $sql .= "AND post_title != '' ";7 M. T. B7 S, s! H
  10.         $sql .= "AND post_password ='' ";$ H) u0 D6 Z9 @1 n# c* u1 j
  11.         $sql .= "AND post_type = 'post' ";6 Q2 {- o* o2 q5 D1 X* C4 y) z) H
  12.         $sql .= "ORDER BY RAND() LIMIT 0 , $posts_num ";( }7 Q; L: ^. p/ o7 Y7 J
  13.         $randposts = $wpdb->get_results($sql);
    ) |6 e" P2 C2 j. k+ R9 y  n$ Y
  14.         $output = '';
      w8 x3 ^2 {8 a+ [
  15.         foreach ($randposts as $randpost) {
    ; m  \6 x: b* a5 ~3 S) I# n
  16.                 $post_title = stripslashes($randpost->post_title);
    * [, C( S1 L2 s# g* e  b
  17.                 $permalink = get_permalink($randpost->ID);
    " Z$ ]+ _3 ]# a3 w
  18.                 $output .= $before.'<a href="'
    + K2 }) S6 E/ Y, C  r
  19.                         . $permalink . '"  rel="bookmark" title="';
    , s& Z4 [' G+ h  m" S- K
  20.                 $output .= $post_title . '">' . $post_title . '</a>';& l, x' h6 r/ n/ Y9 T9 A4 I
  21.                 $output .= $after;
    . }+ n4 e% K- N  f9 K- j
  22.         }9 H, D; t3 x  y1 r
  23.         echo $output;
      g1 A7 Z2 z- j# N0 O4 r
  24. }# y4 z& }7 \9 W& f; C# H! f
  25. 在需要显示的地方调用如下代码
      b, i5 F# b& a* I- O& ?
  26. <div>
    4 T/ i" r  Q: O6 W+ w
  27.         <h3>随便找点看看!</h3>5 g" V+ s! f; B
  28.         <ul>
    " f  w8 m8 Z+ |$ ]/ l
  29.                 <?php random_posts(); ?>" U0 Q- O- M2 P& Q: H
  30.         </ul>
    ) c: G. ~8 V2 }1 t) I; n
  31. </div><!-- 随机文章 -->
复制代码

$ l, k2 f0 p8 Y, R- q
. [- g. x6 A6 z7 c* w/ V9 J; K. K, |- |8 O

评分

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

查看全部评分

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

使用道具 举报

3

主题

11

广告币

52

积分

初级会员

Rank: 2

积分
52

社区QQ达人

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

使用道具 举报

100

主题

2134

广告币

3783

积分

金牌会员

Rank: 6Rank: 6

积分
3783
发表于 2020-9-26 22:21:23 | 显示全部楼层
楼主应该给个demo或效果截图! M( ]( |6 R2 p  P/ H; e; J* {7 R

6 o( B/ s- {. h# f7 Q5 e谢谢!
已有1人评分           广告币           理由
     河小马         +10,000,000       太帅了
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-4-3 11:34 , Processed in 0.045531 second(s), 14 queries , Gzip On, MemCache On.

Copyright © 2001-2023, AdvertCN

Proudly Operating in Hong Kong.

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