JSM file_get_contents() Shortcode

Version Information

  • Plugin Name: JSM file_get_contents() Shortcode
  • Stable Version: 2.7.1
  • Author: JS Morisset
  • Description: A safe and reliable WordPress shortcode for PHP's file_get_contents() function.
  • License: GPLv3
  • Requires PHP: 7.2.34 or newer
  • Requires WordPress: 5.8 or newer
  • Tested Up To WordPress: 6.4.2
  • Last Updated: 10 months ago

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 = Add a class to the content 'div' container (default is none).
  • code = Wrap the content in a <code></code> container (default is false).
  • code_class = Add a class to the 'code' container (default is none).
  • code_lang = Escape HTML characters, wrap the content in a <pre><code></code></pre> container, and add a language class to the 'code' container (default is none).
  • esc_html = Escape HTML characters (default is false).
  • esc_html_pre_code = Escape HTML characters and wrap the content in a <pre><code></code></pre> container (default is false).
  • file = Path to a local file (relative to the wp-content/ folder).
  • filter = Apply the named filter to the content (default is none).
  • more = Add a more link on non-singular web pages (default is true).
  • pre = Wrap the content in a <pre></pre> container (default is false).
  • pre_class = Add a class to the 'pre' container (default is none).
  • pre_code = Wrap the content in a <pre><code></code></pre> container (default is false).
  • pre_lang = Escape HTML characters, wrap the content in a <pre><code></code></pre> container, and add a language class to the 'pre' container (default is none).
  • pre_title = Add a title to the 'pre' container (default is none).
  • url = URL or file URI.
  • utf8 = Encode HTML entities (default is true).

Note that all file paths (not URLs) are relative to the wp-content/ folder. For security reasons, it is not possible to include files outside the wp-content/ folder. As an 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 also 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"]

[wpfgc file="examples/example-1.php" code_lang="php"]
Find this content useful? Share it with your friends!

One comment on “JSM file_get_contents() Shortcode

Leave a Review