Title: Random File
Author: Scott Reilly
Published: <strong>2004 年 12 月 21 日</strong>
Last modified: 2025 年 4 月 8 日

---

搜索插件

![](https://ps.w.org/random-file/assets/banner-772x250.png?rev=837026)

![](https://ps.w.org/random-file/assets/icon-128x128.png?rev=1091134)

# Random File

 作者：[Scott Reilly](https://profiles.wordpress.org/coffee2code/)

[下载](https://downloads.wordpress.org/plugin/random-file.2.0.1.zip)

 * [详情](https://cn.wordpress.org/plugins/random-file/#description)
 * [评价](https://cn.wordpress.org/plugins/random-file/#reviews)
 *  [安装](https://cn.wordpress.org/plugins/random-file/#installation)
 * [开发进展](https://cn.wordpress.org/plugins/random-file/#developers)

 [支持](https://wordpress.org/support/plugin/random-file/)

## 描述

This plugin provides template tags that allow you to retrieve the name, path (relative
or absolute), url, or fully marked-up link to a randomly chosen file or files in
a specified directory.

Arguments to the functions permit you to limit what file(s) can be randomly selected
based on a given set of file extensions. You can also explicitly specify files that
should not be randomly selected.

This functionality can be useful for displaying random images/logos or including
text from random files onto your site (writing excerpts, multi-line quotes, etc).
Other ideas: random ads, random CSS files, random theme template selection.

Notes:

 * If you want to actually display the name of the random file, be sure to ‘echo’
   the results:
 * Unless you limit the file search to only include a particular extension (via `
   $extensions` argument), all files in the specified `$dir` will be under consideration
   for random selection
 * Can be run inside or outside of “the loop”

Links: [Plugin Homepage](https://coffee2code.com/wp-plugins/random-file/) | [Plugin Directory Page](https://wordpress.org/plugins/random-file/)
| [GitHub](https://github.com/coffee2code/random-file/) | [Author Homepage](https://coffee2code.com)

### Developer Documentation

Developer documentation can be found in [DEVELOPER-DOCS.md](https://github.com/coffee2code/random-file/blob/master/DEVELOPER-DOCS.md).
That documentation covers the template tags and hooks provided by the plugin.

As an overview, these are the template tags provided by the plugin:

 * `c2c_random_file()` : Retrieves the name of a random file from a specified directory
   and returns information based on the file.
 * `c2c_random_files()` : Retrieves the name, path, or link to a specified number
   of randomly chosen files in a specified directory.

These are the hooks provided by the plugin:

 * `c2c_random_file` : Filter to safely invoke `c2c_random_file()` in such a way
   that if the plugin were deactivated or deleted, then your calls to the function
   won’t cause errors in your site.
 * `c2c_random_files` : Filter to safely invoke `c2c_random_files()` in such a way
   that if the plugin were deactivated or deleted, then your calls to the function
   won’t cause errors in your site.

## 安装

 1. Install via the built-in WordPress plugin installer. Or download and unzip `random-
    file.zip` inside the plugins directory for your site (typically `wp-content/plugins/`)
 2. Activate the plugin through the ‘Plugins’ admin menu in WordPress
 3. Make use of the `c2c_random_file()` or `c2c_random_files()` template function in
    your code or template (see examples below).

## 常见问题

### Does this plugin do dynamic random rotation within a loaded page (i.e. randomly rotating images within a loaded page)?

No. This plugin only selects a random file when the page is loaded. Once loaded,
it does not currently add any dynamic functionality to automatically retrieve another
random file on its own.

### Does this plugin include unit tests?

Yes. The tests are not packaged in the release .zip file or included in plugins.
svn.wordpress.org, but can be found in the [plugin’s GitHub repository](https://github.com/coffee2code/random-file/).

## 评价

此插件暂无评价。

## 贡献者及开发者

「Random File」是开源软件。 以下人员对此插件做出了贡献。

贡献者

 *   [ Scott Reilly ](https://profiles.wordpress.org/coffee2code/)

[帮助将「Random File」翻译成简体中文。](https://translate.wordpress.org/projects/wp-plugins/random-file)

### 对开发感兴趣吗?

您可以[浏览代码](https://plugins.trac.wordpress.org/browser/random-file/)，查看[SVN仓库](https://plugins.svn.wordpress.org/random-file/)，
或通过[RSS](https://plugins.trac.wordpress.org/log/random-file/?limit=100&mode=stop_on_copy&format=rss)
订阅[开发日志](https://plugins.trac.wordpress.org/log/random-file/)。

## 更新日志

#### 2.0.1 (2025-04-08)

 * Fix: Fix typos in documentation
 * Change: Note compatibility through WP 6.8+
 * Change: Update copyright date (2025)
 * Unit tests:
    - Change: Switch uses of `assertRegExp()` to `assertMatchesRegularExpression()`
      for future PHPUnit 10 compatibility
    - Change: Explicitly define return type for overridden method

#### 2.0 (2024-08-13)

Highlights:

This minor update features improved randomization of file selection, adds support
for the extensions argument to be an array, notes compatibility through WP 6.6+,
removes unit tests from release packaging, updates copyright date (2024), and other
code improvements and minor changes.

Details:

 * Change: Switch to using `wp_rand()` for more reliable randomization
 * Change: Allow `$extensions` argument to also accept an array of extensions
 * Change: Strip surrounding whitespace and leading periods from provided extensions
 * Change: Explicitly return false if no file could be found
 * Change: Switch to use a switch statement, which is more concise
 * Change: Use cleaner `sprintf()` approach to outputting markup
 * Hardening: Escape text shown via ‘hyperlink’ output (though it’s never anything
   other than plaintext)
 * Change: Note compatibility through WP 6.6+
 * Change: Update copyright date (2024)
 * Change: Tweak filter descriptions in `readme.txt`
 * New: Add `.gitignore` file
 * Change: Remove development and testing-related files from release packaging
 * Unit tests:
    - Hardening: Prevent direct web access to `bootstrap.php`
    - Allow tests to run against current versions of WordPress
    - New: Add more unit tests
    - New: Add `composer.json` for PHPUnit Polyfill dependency
    - Change: In bootstrap, store path to plugin directory in a constant
    - Change: Rename a test

#### 1.8.12 (2023-05-21)

 * New: Add DEVELOPER-DOCS.md and move hooks documentation into it
 * Change: Note compatibility through WP 6.3+
 * Change: Update copyright date (2023)

_Full changelog is available in [CHANGELOG.md](https://github.com/coffee2code/random-file/blob/master/CHANGELOG.md)._

## 额外信息

 *  版本 **2.0.1**
 *  最后更新：**1 年前**
 *  活跃安装数量 **90+**
 *  WordPress 版本 ** 2.8 或更高版本 **
 *  已测试的最高版本为 **6.8.5**
 *  语言
 * [English (US)](https://wordpress.org/plugins/random-file/)
 * 标签
 * [coffee2code](https://cn.wordpress.org/plugins/tags/coffee2code/)[file](https://cn.wordpress.org/plugins/tags/file/)
   [files](https://cn.wordpress.org/plugins/tags/files/)[random](https://cn.wordpress.org/plugins/tags/random/)
   [randomize](https://cn.wordpress.org/plugins/tags/randomize/)
 *  [高级视图](https://cn.wordpress.org/plugins/random-file/advanced/)

## 评级

 5 星（最高 5 星）。

 *  [  1 条 5 星评价     ](https://wordpress.org/support/plugin/random-file/reviews/?filter=5)
 *  [  0 条 4 星评价     ](https://wordpress.org/support/plugin/random-file/reviews/?filter=4)
 *  [  0 条 3 星评价     ](https://wordpress.org/support/plugin/random-file/reviews/?filter=3)
 *  [  0 条 2 星评价     ](https://wordpress.org/support/plugin/random-file/reviews/?filter=2)
 *  [  0 条 1 星评价     ](https://wordpress.org/support/plugin/random-file/reviews/?filter=1)

[Your review](https://wordpress.org/support/plugin/random-file/reviews/#new-post)

[查看全部评论](https://wordpress.org/support/plugin/random-file/reviews/)

## 贡献者

 *   [ Scott Reilly ](https://profiles.wordpress.org/coffee2code/)

## 支持

有话要说吗？是否需要帮助？

 [查看支持论坛](https://wordpress.org/support/plugin/random-file/)

## 捐助

您愿意支持这个插件的发展吗?

 [ 捐助此插件 ](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=6ARCFJ9TX3522)