请选择 进入手机版 | 继续访问电脑版

AdvertCN - 广告中国

 找回密码
 立即注册

QQ登录

只需一步,快速开始

 谷歌+Bing+TT+MSN官方代理 
⚡️按条S5代理⚡️静态⚡️独享⚡️5G⚡️最干净<Wifi住宅+5G移动>IP代理泰国仓储,本土仓发货2-3元/单
指纹浏览器,就用AdsPower谷歌/FB/Bing/Yahoo代理商开户7200W全球动态不重复住宅IP代理全球优质流量,选TrafficStars
出售Facebook,友缘号,FB广告号,insFB/TT/KW 加白开户比Adplexity还好用的Spy工具ADPLEXITY + ADVERTCN
FB不限额广告号MediaGo+Taboola+Ob开户百度国际MediaGo⚡️让产品狂奔全球百度国际,高点击转化,快速放量
百度国际MediaGo,独家原生流量虚拟信用卡+独立站收款行业首创新型指纹Cloak, 谷歌奇效!BINOM TRACKER 60% OFF!
Kookeey⚡️100%独享⚡️原生住宅IP⚡5000W动态住宅全场8折⚡全球虚拟卡, 支持U充值谷歌/Outbrain/Taboola⚡️一键开户
FB极速下户/白名单/不收费Affiliate站外引流服务⚡️极速出单免账户投放 FB 广告(送项目)2024做什么 - Media buy 项目库
免费黑五教程(持续更新、欢迎交流)Facebook 批量上广告Facebook账号1块一个各种主页、账单户、BM户(优势)
⚡️个人户,bm户不限额,账单户Adsterra 的CPA/CPM/CPC 网站流量在线注册美国/英国/香港等海外公司EU KETO/CBD - Jumbleberry
【YouTube】油管获利号交易平台三不限/账单户/BM不限额/直播主页FB二三解1元/个9Proxy ⚡️ $0.04/IP, 无限带宽
最佳Health和Beauty联盟广告位出租全球低价纯净住宅/移动IP-免费试用广告代投, 东南亚物流, 虚拟信用卡
VMLogin指纹浏览器+多账号防关联   
查看: 4866|回复: 2

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

[复制链接]

121

主题

183

广告币

273

积分

初级会员

888888888888888

Rank: 2

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

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

  1. <li class="widget widget_numberposts">
    , d  e! s) g0 h
  2. <h3>随遍看看吧</h3>/ I7 y' y( d. _  q: ]& {* x
  3. <ul>5 U+ k% ?' o7 U1 A/ w+ ^
  4. <?php $rand_posts = get_posts('numberposts=8&orderby=rand');+ a# H* [! e; i) u2 o
  5. foreach( $rand_posts as $post ) : ?>
    0 z" y/ M* |; Z
  6. <li>
    0 C+ N1 ~, G  X+ B; @% Z3 Z
  7. <a target="_blank" href="<?php the_permalink(); ?>"><?php the_title(); ?></a>7 H  p. `) M6 ?+ M) `% k  e
  8. </li>2 Y4 N" m3 |% C
  9. <?php endforeach; ?>
    3 {5 v) p% G4 j4 }6 x5 E
  10. </ul>
复制代码

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

: o# t: f3 D9 @8 Y
方法二:在随机文章中显示标题和文章摘要在需要显示的地方直接调用如下代码% X9 ~8 a1 ]7 E5 ~) L* k
  1. <?php
      T: s: r& O) Q
  2. query_posts(array(‘orderby’ => ‘rand’, ‘showposts’ => 1));
    8 t! _2 K8 |  S
  3. if (have_posts()) :' q6 m& q5 A) r& Z$ ]7 O5 ~
  4. while (have_posts()) : the_post();
    7 C3 C- X' E' R
  5. the_title(); //这行去掉就不显示标题; a0 y2 m0 B1 p& s
  6. the_excerpt(); //去掉这个就不显示摘要了
    , [% D9 ~3 B$ K3 V' }- ?8 j* t
  7. endwhile;
    % ^8 j# v3 L% @: G+ p
  8. endif; ?>
复制代码
方法三:用query_posts生成随机文章列表

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

  1. <?php
    / A  I2 y; z& ]4 U
  2. query_posts(array(‘orderby’ => ‘rand’, ‘showposts’ => 2));7 b& p" f; ~8 E  M1 r) X6 r
  3. if (have_posts()) :
    1 x. O+ T5 F2 Y, K& W, n7 C
  4. while (have_posts()) : the_post();?># Y. p: P' S+ f
  5. <a href=”<?php the_permalink() ?>”
    ( ^2 h4 B/ Z  Z& {: G, L, V
  6.         rel=”bookmark”
    $ L" F$ A, g- W$ K+ L7 k
  7.         title=<?php the_title(); ?>”><?php the_title(); ?></a> ; S) r; E* c6 B, F
  8.         <?php comments_number(”, ‘(1)’, ‘(%)’); ?>; Q8 `1 y8 ?' b3 Y
  9. <?php endwhile;endif; ?>
复制代码
方法四:在function.php中加入如下代码

在function.php中加入如下代码

  1. /**& ^( f7 P2 ]- x
  2. * 随机文章
    : f  M% z+ g0 A5 f1 N' A
  3. */
    / }: q7 x$ u7 i/ Y% }$ v
  4. function random_posts($posts_num=5,$before='<li>',$after='</li>'){+ e: o, ^6 h2 n  u
  5.         global $wpdb;* |( C  ^; I8 K  S0 |
  6.         $sql = "SELECT ID, post_title,guid
    * l7 F; M( b2 s8 Y0 |7 k/ w
  7.                         FROM $wpdb->posts& L# r. v3 @9 W6 C  l3 `
  8.                         WHERE post_status = 'publish' ";+ ?# O6 K0 T& |: R( l7 p
  9.         $sql .= "AND post_title != '' ";
    2 d6 j: S7 D- k5 _8 T: e
  10.         $sql .= "AND post_password ='' ";/ M: L2 {# u  V6 w
  11.         $sql .= "AND post_type = 'post' ";
    . ?0 \' `! l* H% x1 i# z( O
  12.         $sql .= "ORDER BY RAND() LIMIT 0 , $posts_num ";- y- o5 A8 \* c# O; K4 p# }4 x
  13.         $randposts = $wpdb->get_results($sql);
    % @' @9 l" L, b6 J7 F6 x! @
  14.         $output = '';- e3 |! A7 y8 ?& A- e/ C
  15.         foreach ($randposts as $randpost) {9 F0 {6 f% z5 u' U8 ^3 C
  16.                 $post_title = stripslashes($randpost->post_title);
    " D( E  I2 v( m$ t
  17.                 $permalink = get_permalink($randpost->ID);& K8 V! @. Q6 [7 w! r; E0 C8 B) w
  18.                 $output .= $before.'<a href="'
    ; l% b' r, Y# @7 j) J7 N3 |
  19.                         . $permalink . '"  rel="bookmark" title="';3 R" I& T. u7 ^. I
  20.                 $output .= $post_title . '">' . $post_title . '</a>';
    3 U: y3 V1 v. F! s
  21.                 $output .= $after;
    . {$ ]  N- x" e1 m1 v* Z
  22.         }8 T& N$ i. M# v$ a# E9 h
  23.         echo $output;
    - U2 x& @( h4 c$ c) Q! [' i
  24. }
    7 i- Q( r* X6 M( A! @
  25. 在需要显示的地方调用如下代码" _$ z. O7 ?" u4 Y4 ~. @) M
  26. <div>$ h# W: k0 p3 f% g1 G
  27.         <h3>随便找点看看!</h3>
    ; j7 |  l0 f) |% H$ I! w
  28.         <ul>
    0 R6 e- f# \1 Z9 ]/ o# ~7 A* u: {* w
  29.                 <?php random_posts(); ?>
    ( w8 }1 T' Y( M; n9 b1 k4 p( }
  30.         </ul>
    " h; ~9 w% f4 k
  31. </div><!-- 随机文章 -->
复制代码
, W; R! @1 t1 F* j

0 Q. E3 D4 ?3 j2 G7 b* C. H* ]# {5 l" j* K

评分

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

查看全部评分

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

使用道具 举报

3

主题

11

广告币

52

积分

初级会员

Rank: 2

积分
52

社区QQ达人

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

使用道具 举报

68

主题

1317

广告币

2652

积分

高级会员

Rank: 4

积分
2652
发表于 2020-9-26 22:21:23 | 显示全部楼层
楼主应该给个demo或效果截图
( Q. R; c$ i( P8 ?: z/ R. P) o  M# i9 L5 }
谢谢!
已有1人评分           广告币           理由
     河小马         +10,000,000       太帅了
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-3-29 22:05 , Processed in 0.055950 second(s), 16 queries , Gzip On, MemCache On.

Copyright © 2001-2023, AdvertCN

Proudly Operating in Hong Kong.

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