Use the [remote_content url=""] shortcode to import remotely hosted content into your posts or page using cURL. Supports HTML GET and POST, BASIC authentication, HTML entity escaping/encoding, CSS selectors and element removal, regular expression replacements, and caching.

This shortcode will let you…

  • Display the contents of a document stored in Subversion or Git repository into a post where it can then be formatted using SyntaxHighlighter.
  • Quickly integrate content from other CMS systems, for example a company intranet.
  • Control access to protected data using WordPress’ permissions.
  • Select and remove DOM elements based on CSS selectors (like jQuery).
  • Find and replace text based on PHP regular expressions.
  • HTML encode the remote content.
  • Strip tags from the remote content.
  • Cache the remote content.


[remote_content url=”” method=”GET” timeout=”10″ userpwd=”username:password” htmlentities=”false” strip_tags=”false” decode_atts=”false” selector=”body” remove=”img” find=”” replace=”” cache=”true” cache_ttl=”3600″]

  • url
    • The url that you want to request.
  • method=[GET| POST ]
    • The HTTP request type, defaults to GET.
  • params="key=value, foo, bar"
    • The keys listed here will be parsed from the querystring and appended to the url. Separate keys by with commas. If the value is not found in the querystring the default value can be specified by placing it after an equals sign: parameter=default.
  • timeout=[ 0-9...10]
    • The request timeout in seconds if it can’t be fetched from the cache, defaults to 10 seconds.
  • userpwd=[**username:password **| post_meta | site_option | constant ]
    • The username and password to send for BASIC authentication. It is recommended to not set the username and password directly in the tag, as YOUR PASSWORD WILL BE PUBLICLY VISIBLE ON YOUR WEBSITE IF THIS PLUGIN IS DISABLED, and instead use one of the other options. By order of priority, if the value matches a post meta_key the meta_value is used, if it matches a site_option the option_value is used, and if it matches a constant the constant value is used, otherwise the string data is parsed as is. The format is username:password.
  • htmlentities=[false| true ]
    • If you want to HTML encode the content for display, set to true, defaults to false.
  • strip_tags=[false| true ]
    • strip all HTML tags from the response, defaults to false.
  • decode_atts=[false| true ]
    • The SyntaxHighlighter plugin will HTML encode your shortcode attributes, so attr="blah" becomes attr="blah". This fixes it to the intended value when set to true, defaults to false.
  • selector=[ CSS Selectors... ]
    • The CSS selector or comma separated list or selectors for the content you would like to display, for example div.main-content or div.this-class #this-id, defaults to the entire document.
  • remove=[ CSS Selectors... ]
    • The CSS selector or comma separated list or selectors for the content that you would like to remove from the content, for example h2.this-class or div#this-id, defaults to no replacement.
  • find=[ regex ]
    • Use a PHP regular expression to find content and replace it based on the replace attribute, for example ~http://([^\.]*?)\.example\.com~, defaults to disabled.
  • replace=[ regex ]
    • The replacement text to use with the results of the find regular expression, for example https://\\, defaults to empty string replacement.
  • cache=[true| false ]
    • Set to false to prevent the contents from being cached in the WP-Cache/WordPress transients, defaults to true for performance.
  • cache_ttl=[ 0-9...3600]
    • Set the number of seconds to cache the results, using 0 for “as long as possible”, defaults to 3600 seconds (one hour).

Shortcode Contents + POST
If there is any content within the shortcode tags, it is sent as part of the request to the remote server.

[remote_content url="" method="POST"]
{ json: { example: some_data } }
Current Version: 1.5
Requires: 2.8
Tested to: 5.2.20
Downloads: 9,726
Last updated: 2019-06-14 6:40pm GMT