Home / functions.php / Include external file shortcode
  • How to Include external file shortcode

    include-external-file-shortcode

    Adding this snippet to the functions.php of your wordpress theme will let you include an external file into your post / page using a shortcode. Interesting snippet something you should be careful within but could come in handy for a number of people.

    ( click code to copy )

    wordpress snippet : PHP

    <>
    function show_file_func( $atts ) {
      extract( shortcode_atts( array(
        'file' => ''
      ), $atts ) );
      if ($file!='')
        return @file_get_contents($file);
    }
    add_shortcode( 'show_file', 'show_file_func' );
    
    ( click code to copy )

    wordpress snippet : SHORTCODE

    <>
    [show_file file="http://www.mysite.com/somefile.html"]
    

    ( WordPress codex functions, hooks, in this snippet. )

    add_shortcode, shortcode_atts,
  • Will this work in a widget area?

    • You would need to enable shortcode for widgets, eg:

      add_filter(‘widget_text’, ‘do_shortcode’);

  • Maxi

    very nice!

  • masspamak

    Its sounds good but how to include code that works ? I mean, I have a nextgen gallery stuff I would include this way, but shortcode does not works (it show nextgen shortcode and not the thumbnails) also plugins does not works (such as auto-hyperlink, even css does not works) on the remote included file’s contents.

  • Tuyen

    Good

  • This snipp has serious security implications. It could allow any editor or user to access and read the contents of any file on the server. You could use the WordPress built in HTTP API and use wp_remote_get instead of file_get_contents().

  • rf

    WP variables aren’t recognized in the included file. Also tried $_GET, $_POST but to no avail. How to fix this?..

    • This is not something that I have tried to do, however I’m not sure why you would want to include WP variables when you could do this within the post or using the functions.php and shortcode. What is it that you are trying to do, this may help me understand the best option.