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 + ADVERTCN比Adplexity还好用的Spy工具
广
FB/Google/TK海外多媒体极速下户
BINOM TRACKER 60% OFF!MediaGo+Taboola+Ob开户百度国际MediaGo⚡️让产品狂奔全球百度国际,高点击转化,快速放量
百度国际MediaGo,独家原生流量虚拟信用卡+独立站收款行业首创新型指纹Cloak, 谷歌奇效!Kookeey⚡️100%独享⚡️原生住宅IP
⚡IPFoxy住宅代理全场88折⚡全球虚拟卡, 支持U充值免账户投放 FB 广告(送项目)2024做什么 - Media buy 项目库
免费黑五教程(持续更新、欢迎交流)Facebook 批量上广告Bridgeway - 联盟营销网络IPCola 全新住宅代理 ⚡️ 免费试用
各种主页、账单户、BM户(优势)⚡️个人户,bm户不限额,账单户Adsterra 的CPA/CPM/CPC 网站流量在线注册美国/英国/香港等海外公司
EU KETO/CBD - JumbleberryFB二三解1元/个9Proxy ⚡️ $0.04/IP, 无限带宽 cloak斗篷/ss/nutra/cpa/Dating
E.PN 虚拟卡Asocks代理服务器$3/GB高薪诚求实力FB投手(独立站)《全新虚拟卡+全球收付款》
广告位出租全球低价纯净住宅/移动IP-免费试用广告代投, 东南亚物流, 虚拟信用卡VMLogin指纹浏览器+多账号防关联
查看: 5126|回复: 2

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

[复制链接]

121

主题

183

广告币

273

积分

初级会员

888888888888888

Rank: 2

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

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

  1. <li class="widget widget_numberposts">3 h8 R7 W3 `8 A* U  S3 Y3 `
  2. <h3>随遍看看吧</h3>
    , I6 P: B# c3 D
  3. <ul>/ H' P4 U& b$ R4 _1 P) e/ w% F
  4. <?php $rand_posts = get_posts('numberposts=8&orderby=rand');
    . v) [+ X6 A& W6 p" w# h
  5. foreach( $rand_posts as $post ) : ?>
    # U8 s9 _% Z( ^  r7 e
  6. <li>
    7 H, L; G% _. a* p. {
  7. <a target="_blank" href="<?php the_permalink(); ?>"><?php the_title(); ?></a>
    # R: H. m* F: D: ?1 c
  8. </li>5 P6 T2 Q- O0 Y  b6 b% q
  9. <?php endforeach; ?>& p+ P  L3 j, a  s6 f- j8 s
  10. </ul>
复制代码

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

6 P! }% z. E9 S4 c0 s5 `0 m
方法二:在随机文章中显示标题和文章摘要在需要显示的地方直接调用如下代码
; T+ J3 e/ g: v
  1. <?php. |0 }% ?( M  y# l0 b  x5 N
  2. query_posts(array(‘orderby’ => ‘rand’, ‘showposts’ => 1));
    $ J+ f1 M6 }9 j( H; h
  3. if (have_posts()) :
    4 B7 b: u; z8 C- ~, `
  4. while (have_posts()) : the_post();
    ' n- z1 \; e; H; n3 \& w1 }1 Y
  5. the_title(); //这行去掉就不显示标题  V6 g" G$ _/ ?& }9 ]
  6. the_excerpt(); //去掉这个就不显示摘要了
    5 }2 z% c0 q+ B6 c
  7. endwhile;) c* o5 l3 p# M2 v% q! J! J, a
  8. endif; ?>
复制代码
方法三:用query_posts生成随机文章列表

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

  1. <?php
    3 F& {2 x9 V* p- U# h- ?
  2. query_posts(array(‘orderby’ => ‘rand’, ‘showposts’ => 2));
    / `+ c2 H8 j7 c: P# R
  3. if (have_posts()) :
    ! {; }  H% |0 L6 }8 U
  4. while (have_posts()) : the_post();?>7 B) b  A+ h6 B9 w! b3 W
  5. <a href=”<?php the_permalink() ?>”) k, E7 x; E1 [+ Q5 J' V! Z
  6.         rel=”bookmark”
    ) d6 k: ^& S% U2 |
  7.         title=<?php the_title(); ?>”><?php the_title(); ?></a> ( I3 F( j  t, M, |
  8.         <?php comments_number(”, ‘(1)’, ‘(%)’); ?>
    : V/ D. y  w/ _2 w
  9. <?php endwhile;endif; ?>
复制代码
方法四:在function.php中加入如下代码

在function.php中加入如下代码

  1. /**
    - ~8 a5 n, ~$ ~4 ~9 S& s* K4 A
  2. * 随机文章7 M2 B4 g  U& \$ I
  3. */  `" v- M" z, k9 Z
  4. function random_posts($posts_num=5,$before='<li>',$after='</li>'){
    - |, V, B& n7 I, W
  5.         global $wpdb;
    $ R, R' |- k2 k  [6 O% q: t
  6.         $sql = "SELECT ID, post_title,guid
    ' P& Q" Z& G. [# }2 q! l' j
  7.                         FROM $wpdb->posts
    8 R% i2 ^) Y% ~& j
  8.                         WHERE post_status = 'publish' ";
    # Z6 g( {, N$ J! x4 x8 G  R
  9.         $sql .= "AND post_title != '' ";" y9 `" h; n6 [, g0 ~: _
  10.         $sql .= "AND post_password ='' ";7 p1 K8 M$ n1 ^  V6 J
  11.         $sql .= "AND post_type = 'post' ";& s' a( a6 a9 Y5 F+ a- |
  12.         $sql .= "ORDER BY RAND() LIMIT 0 , $posts_num ";
    ! Y7 ?6 o/ G' s& F% S$ e7 d& E, H, v$ p
  13.         $randposts = $wpdb->get_results($sql);5 F0 |( A% M2 R7 G# Q6 v1 \: m
  14.         $output = '';; L; o# F9 @$ m! u6 a
  15.         foreach ($randposts as $randpost) {, B, l' [' T0 L
  16.                 $post_title = stripslashes($randpost->post_title);
    . T3 U$ D/ b6 l+ Q& \' Q5 R! i
  17.                 $permalink = get_permalink($randpost->ID);
    2 P2 h+ L7 n% r4 u, y* s  J3 I" _5 R
  18.                 $output .= $before.'<a href="'
    $ q  W1 k. b+ A- F
  19.                         . $permalink . '"  rel="bookmark" title="';
    * x, Z6 b+ `- H6 D# {; }( K! d
  20.                 $output .= $post_title . '">' . $post_title . '</a>';5 M, j7 x; ~( K# k# V8 t# a$ I
  21.                 $output .= $after;
    ' p% F1 j) Z& \' T) K
  22.         }
    - T( ^% @8 A- l8 c5 X. Z* h8 H
  23.         echo $output;% P; g$ j: @( M; P
  24. }3 p. c2 u) O# v7 |! p4 C- S% n
  25. 在需要显示的地方调用如下代码  S7 _1 W: ?/ \
  26. <div>9 Y, y6 D! P( i+ ]3 ]4 @" c
  27.         <h3>随便找点看看!</h3>4 X8 X# x1 A9 f$ @" i- P  f  Q
  28.         <ul>. a, g, q  b- G6 c. Y# ~* D
  29.                 <?php random_posts(); ?>8 P8 s9 m% H! `  w/ Q& V! [
  30.         </ul>; }: F8 n" t9 u; Y  Q6 H6 v
  31. </div><!-- 随机文章 -->
复制代码

& k) K8 H% Z7 t' J) P
& _) S7 B% }3 ?) H* \1 {
% X/ j; r5 k3 P9 m5 s

评分

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

查看全部评分

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

使用道具 举报

3

主题

11

广告币

52

积分

初级会员

Rank: 2

积分
52

社区QQ达人

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

使用道具 举报

73

主题

1362

广告币

2743

积分

高级会员

Rank: 4

积分
2743
发表于 2020-9-26 22:21:23 | 显示全部楼层
楼主应该给个demo或效果截图* S6 a4 E' X9 O# [0 [5 N/ t' N

. ^0 a. Y. ~1 M( r谢谢!
已有1人评分           广告币           理由
     河小马         +10,000,000       太帅了
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-20 11:26 , Processed in 0.049751 second(s), 14 queries , Gzip On, MemCache On.

Copyright © 2001-2023, AdvertCN

Proudly Operating in Hong Kong.

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