JSM's file_get_contents() Shortcode


A safe and reliable WordPress shortcode for PHP’s file_get_contents() function.

Shortcode Attributes

  • body = Keep only the content between <body></body> HTML tags (default is true).
  • cache = Number of seconds to cache the contents (defaults is 3600 seconds).
  • class = Wrap the content in the specified div class (default is none).
  • esc_html = Escape HTML characters (default is false).
  • file = Path to a local file (relative to the wp-content/ folder).
  • filter = Apply the specified filter to the content (default is none).
  • more = Add more link on non-singular web pages (default is true).
  • pre = Wrap the content in <pre></pre> HTML tags (default is false).
  • url = URL or file URI.
  • utf8 = Encode HTML entities (default is true).

Note that all local file paths are relative to the wp-content/ folder – you cannot include files outside the wp-content/ folder. For example, the shortcode attributes url="file://dir/file.html" and file="/dir/file.html" are both read as wordpress/wp-contents/dir/file.html. The .. folder name is stripped from file paths to prevent backing out of the wp-content/ folder.

Shortcode Name

The WPFGC_SHORTCODE_NAME constant can be defined in your wp-config.php file to add an additional custom shortcode name (the default shortcode names are ‘wp-file-get-contents’ and ‘wpfgc’).

define( 'WPFGC_SHORTCODE_NAME', 'include' );

Shortcode Examples

[wpfgc url="http://example.com/dir/file.html"]
[wpfgc url="http://example.com/counter/" cache="7200"]
[wpfgc url="file://dir/file.html"]
[wpfgc file="/dir/file.txt" pre="true" filter="my_custom_filter_name" cache="600"]


12 April 2017
There are tons of uses for this but for us it is an solution for SPA automated HTML backend deployments.
Read all 1 review

Contributors & Developers

“JSM's file_get_contents() Shortcode” is open source software. The following people have contributed to this plugin.



Version Numbering

Version components: {major}.{minor}.{bugfix}[-{stage}.{level}]

  • {major} = Major structural code changes and/or incompatible API changes (ie. breaking changes).
  • {minor} = New functionality was added or improved in a backwards-compatible manner.
  • {bugfix} = Backwards-compatible bug fixes or small improvements.
  • {stage}.{level} = Pre-production release: dev < a (alpha) < b (beta) < rc (release candidate).


Changelog / Release Notes

Version 2.4.0 (2021/08/29)

  • New Features
    • Added the ‘esc_html’ shortcode attribute (default is false).
  • Improvements
    • Improved the creation of a unique transient cache salt string.
  • Bugfixes
    • Fixed caching of content incorrectly formatted with more link.
  • Developer Notes
    • Added a WPFGC->get_atts_salt() method.
    • Added a WPFGC->format_content() method.
  • Requires At Least
    • PHP v7.2.
    • WordPress v5.4.

Version 2.3.0 (2021/01/28)

  • New Features
    • Added the ‘utf8’ shortcode attribute (default is true).
  • Improvements
    • None.
  • Bugfixes
    • None.
  • Developer Notes
    • None.
  • Requires At Least
    • PHP v7.0.
    • WordPress v5.0.