Improved Include Page (IIP) uses the WordPress Shortcode API to include the content of any page inside any other page or post.
Using a shortcode in a post/page:
[include-page id=”123″] OR [include-page id=”/about/resume”]
Using PHP in a template
For more details and examples, see the Installation tab.
Improved Include Page is an enhanced version of the original Include Page developed by Brent Loertscher.
- Page title can be displayed with optional HTML code
- Content can be displayed with different styles (full, teaser, custom ‘more’ link)
- WordPress filters are applied to both the content and the title
- Supports the WordPress Shortcode API
- Installation Instructions
- Download Improved Include Page
- Extract the zipped archive
- Upload the file ‘iinclude_page.php’ to the ‘wp-content/plugins’ directory of your WordPress installation
- Activate the plugin from your WordPress admin ‘Plugins’ page.
- Include pages in your templates using ‘iinclude_page’ function or in your pages/posts using the shortcode syntax.
How To Use
Once installed, the plugin adds the function ‘iinclude_page’:
void iinclude_page(int post_id [,string params, boolean return = false])
The function takes three parameters:
1. the id of the page to include (‘post_id’)
2. an optional string (‘params’) which contains the display options
3. an optional boolean (‘return’) tells whether to return the content or display it on screen.
Example 1: using Shortcode API in posts or pages
You can include a page’s content in a page/post using the syntax:
[include-page id="3" displayTitle="true" displayStyle="DT_TEASER_MORE" titleBefore="<h3>" titleAfter="</h3>" more="continue»"]
Example 2: basic usage in templates
If you wish to include the content of page number ‘4’ insert the following code into your template file (e.g. sidebar.php):
<?php iinclude_page(4); ?>
<?php echo iinclude_page(4, null, true); ?>
In order to avoid PHP errors if the plugin is disabled, you should use the function with the following syntax:
<?php if( function_exists( 'iinclude_page' ) ) iinclude_page( 4 ); ?>
Example 3: using optional parameters in templates
You can also display the page title using the following code:
<?php iinclude_page( 4, 'displayTitle=true&titleBefore=<h2 class="sidebar-header">' ); ?>
The current version supports the following parameters:
- displayTitle (boolean)
- toggle title display
- titleBefore/titleAfter (string)
- string to display before and after the title
- displayStyle (integer constant)
- one of the following:
- `DT_TEASER_MORE` – Teaser with ‘more&’ link (default)
- `DT_TEASER_ONLY` -Teaser only, without ‘more’ link
- `DT_FULL_CONTENT` – Full content including teaser
- `DT_FULL_CONTENT_NOTEASER` – Full content without teaser
- more (string)
- text to display for the ‘more’ link
- Can I include pages using custom fields?
Yes, but there’s an extra bit of code you need. To include a page, you now need to use this syntax:
echo do_shortcode( get_post_meta( get_the_id(), ‘custom_field_key’, true ) );
Contributors & Developers
“Improved Include Page” is open source software. The following people have contributed to this plugin.Contributors
Interested in development?
- Confirming plugin works with WP 4.4 using both shortcode and template code.
- Bumping WordPress requirement to 4.0.
- Updates to description, documentation and tags.
- PHP code formatting tweaks.
- Support and development transferred from Vito Tardia to Marios Alexandrou.
- Added the ‘#more-‘ in the “read more” link href, to avoid going to the top of the post when clicking (by Matthieu Sarter),
- Added support for the WordPress ” tag, so that the more link text can be defined at the post level (it can still be overriden at the ‘iinclude_page()/[include]’ level) (by Matthieu Sarter).
- Fixed static method definitions
- Fixed: returns false if a page is not found, without triggering a notice
- Fixed bug which broke the ID style inclusion on WP 3.0 (thanks to Mike Woods, Brad Lauster and wptk)
Fixed a bug on the ‘more’ link which caused too many slashes when using images as ‘more tags’ (thanks to Nikhil Dabas)
Note: if you use HTML code in the ‘more’ link use single quotes for the ‘more’ parameter, like this:
‘[include-page id=”mypage” more=”]’
or you will have a PHP Warning
Fixed a bug in the displayTitle attribute: using “false” you will get a real boolean false and title is hidden
Added a new WP action ‘include-page’ to use inside your PHP code
Edited class attribute for the ‘more’ link. Now it is ‘more-link’ and ‘iip-more-link’
- On WP 2.5 or greater allows custom inclusion by post type and status using parameters ‘allowType’ and ‘allowStatus’.
- Bug fix: in shortcode fixed a bug that could crash PHP when including recursive page/posts
- Bug fixed: since this version you can include only static pages with status of ‘published’.
- Page ID can be a valid page path (WP 2.1 or higher required) with contribution by Guy Leech.
* Added parameter $return (default = false) to iinclude_page() function
* Added support for WP 2.5.x shortcode API
- The code of this version it’s been cleaned and optimized using WordPress API.
- This version fixes a bug that triggers an error when used with some content filter: the ‘$page’ global variable is backed up and then restored before returning.