Network Posts Extended
The plugin is designed to share posts, pages, and custom post types from across an entire WordPress® multisite network on any given page for any subdomain and the main blog. You may list them in single or double column mode. Add custom css styling to your text, images, whole container and title.
You can specify categories and tags. All posts will be shown in ascending and descending order by date or post ID. You can specify how old (in days) the collected posts may be. Also you can specify how many posts should be displayed from each blog. You can set thumbnails image size and style or disable them. You may also include or exclude posts, pages, categories, and blogs by using the appropriate arguments.
You may install the plugin using one of the three following methods:
Unzip file and using an ftp program upload it to the wp-content/plugins/ directory then activate in plugins page.
Using the search field in the admin plugins area type in network posts extended then install from there.
Go to the upload plugins area in the network admin menu to upload the file.
The default shortcode is [netsposts]. This will list all posts (default) from across the entire network. The following arguments that you may include to fine tune your listing are located below.
Note: Just click on the links for further information detailing that particular argument.
This allows you to display specific posts by entering their ID's.
will only show the posts with those specific post ID's.
Note: If there are more than one post with the same post ID which may happen on a multisite network (very rare) all of them will be shown. To narrow it down you may have to include the argument
hide_password_protected_posts='true or false' Default: true. To show passord protected posts in your listing please set the following argument to false.
is just like the one above except for the fact that the ID's you include will be excluded from the list. So if you had:
all posts will be shown except for the posts with those specific ID's.
will only include posts from the specific blogs listed in the argument. The post ID's can be found in the admin section under sites. Hover your mouse over it and a link will appear at the bottom with the blog ID.
will show posts from all sites except for the one's listed.
defaults to categories and you list them by their slug. So for example:
will only show posts that are in any of these three categories.
let's you fine tune the list by including categories, tags, or custom taxonomy. This is used in conjunction with the
argument. So for example if you have
then it will only show posts that are in the category books. If you change
then it will show books that have a tag called books. It will not show any books in the category called books. If you want to include both then you would simply list
It also works now with custom taxonomies. So you have a custom taxonomy called custom-taxonomy then you may use
Note: The plugin now has to the ability to target certain taxonomies by a partial list. For example
it will display all posts that belong to a category that starts with singers.
will show all taxonomies that end in singers. If you want singers to be included anywhere in the taxonomy name you would use
Filtering by Keywords
will only show the posts if the title contains certain keyword(s). For example
This will only show posts that contain all three words in the title.
The arguments are true/false (default: false). Here is a little explanation of how this works. You only want to display posts that are in all of the following categories: blue, green, orange. So you set up
When you set
then only posts that are on all three categories will be displayed. For example Post A and Post B are in all three categories and Post C is only in categories blue and green. Then only Posts A and B will be displayed not Post C. If the argument is not set to true then all posts that are in any of the three categories will be displayed. That is Posts A, B and C will all be displayed. Doesn't matter if they are in all three categories or just one of the three categories.
Show For X Amount of Days
allows you to show posts up to a certain number of days old. For example a news site will only want to show the posts for only three days. Then you would include
Show After X Days Old
Let's say on your news blog you have an archive section where you list the older articles. It will work nicely since you may have
then when all the articles under days= stop showing they will then show up here.
will as you may have guessed only show the titles of the posts. Great for a sidebar or small list. So it would be
since the default is false. Only accepts true or false.
If is set to true then the author with a link to his bio page will be shown along with all the meta info.
Hide Meta Info
If set to true will hide all the meta info like author, date created, categories etc. The default is false.
When set to true will hide the excerpt from appearing with the list. Note: It default's to what's in the excerpt box on the page editing area. If nothing there will display an auto excerpt from the content area.
shows a list of all categories above the meta info when set to true. If you would like a folder next to each category also set
same as show_categories except it displays all tags related to the post. If you would like a folder next to each category also set
Show Custom Taxonomies
this is the same as the two above but will display custom taxonomies you may have created for the particular post. Like above
will display a tag next to each listing.
Show Custom Taxonomies
when set to true act like the ones above but are for custom taxonomies you may have created.
taxonomy_offsets= and taxonomy_offset_names=
You may use slugs or taxonomy name. So for example if you wanted to offset three different categories it would look like so:
[[netsposts taxonomy_offset_names='tax-1,tax-2,tax-3' taxonomy_offsets='5,4,10']]
then tax-1 would be offset by 5, tax-2 4, and tax-3 10. Offsets means it will skip the X most recent posts. If you want to only offset tags or categories use taxonomy_offset_type= so you may use one of these three, tag, category or any.
Note: the best scenario to use the above is if you make two different lists then the first one can contain a large image and full description then the next list will have the more normal smaller size listings.
will display a thumbnail of the given post or page if it has a featured image.
will display the thumbnail size you choose. For example the default WordPress sizes are thumbnail(150x150), medium(300x300), medium_large(768xauto), large(1024x1024), and full(Original Size). The default is full. So if you would like to show the cropped size of 150x150 you would enter:
for a 300x300 image you would use:
Note: If you create custom thumbnail sizes just enter their names here. My network posts extended plugin can create custom thumbnail sizes.
If you would like to create a custom class for the image just enter it here.
will center the image. If you need to add more than one just use it in the typical manner. Separate them with a space:
Setting Default Thumbnail
must be the full url to the image you want to use. Leave the parenthesis and replace img-url with an actual url. Good if posts are missing a featured image.
will over ride the default setting of taking the excerpt from the custom excerpt field and create one from the content field. You can trim down the words by using it with
will trim it down to 50 words and
will trim it to 100 characters.
manual_excerpt_length= and manual_excerpt_letters_length=
is the same as above but for the text in the manual excerpt field.
Displaying Post Types
displays whatever post types you desire. The default is post. So if you had
nothing would change since that's the default behavior. If you want to list only pages you would use
or for custom post types
To list posts and pages just use a comma separated list:
Showing Full Text
will display all the content no matter how large the post may be.
Processing Shortcodes in List
will also run the shortcode that may be in the content area. Other than that it would be ignored. If the above aren't set to true then the plugin will automatically strip all shortcode coding.
can be used to display the date anyway you like. All parameters may be found here. The default is
which would display as
January 2 1963
If you like
2 January 1963
better then it would be
To help make it easier to design the output to your liking I have added the following arguments.
can be used as such. Let's say you want to wrap the shortcode output by a div container with an id of listings. You may do so like this:
wrap_start='<div id="listings">' wrap_end='</div>'
Then the whole output container will be wrapped by this outer container.
The following arguments will do the same thing but only wrap their given item:
wrap_title_start wrap_title_end, wrap_image_start wrap_image_end, wrap_text_start wrap_text_end, and wrap_excerpt_container_start wrap_excerpt_container_end.
page_title_style= has been deprecated and no longer works. Just style it via css.
Pagination and Posts per Page Settings
If you like your list to be on several pages after an x amount of posts you may do so and style your pagination as follows.
Length of Lists and Pagination
will display an x amount of posts on the page. For example
will display 10 posts per page if set for pagination. If there are more they will be shown on the next page. If
then only ten will be shown at a time and the 11th one will drop off the list.
will cause the posts to be paginated after 10 posts which is the default. If you would like the list to have 15 posts per page just set list='15'.
will show how many page links will be shown before and after the current page. For example
will show the first and last three links in numerical form.
will show a numerical list of pages on either side of the current page. So
will have three previous links before and the next three page links after the current page.
will allow previous and next links to be shown. The default is false. Works with the following two arguments prev and next. This way you can customize the text shown.
prev='Previous Page' next='Next Page'
Defaults are previous and next.
will show the posts completely randomly. So if you have the two following arguments included in your shortcode it will list 10 posts randomly regardless of date.
[[netsposts list='10' random='true']]
New Pagination Attributes
allows to load posts without refreshing page. Default false. Normally when you go to the next page of the list the whole page refreshes. This function enables the posts to refresh without reloading the whole page. This keeps the user from getting lost from where he was if there is a lot of content also on the page.
posts_preloader_icon='(url to icon)'
Set custom icon url. This icon is displayed while posts are loading if
is set to true.
Note: You must use the argument
for this argument to work. Because it uses the given id to know which one to refresh in case there are multiple instances on one page. Each individual shortcode must have a separate on if they are on the same page.
to hide default spinning icon. Default true.
can be given any name. Just make sure if you have more than one instance of this shortcode on the same page each id must be different. That is you can't have multiple ID's with the same name on the same page.
Modified: Made it to support multiple shortcodes with one or more of them that load posts without page refreshing. Set shortcode_id for those shortcodes that loads posts via Ajax. That is if load_posts_dynamically='true' then you must also add the argument shortcode_id='custom-shortcode-id'.
This is how I recommend the ID's should be named on a per page basis. Let's say you have two instances of the shortcode on the same page. I would give the first shortcode an ID of "npe-1" thus the shortcode would be shortcode_id='npe-1' then the second shortcode would have an id as such shortcode_id='npe-2' etc.
if you would like to give the listing its own special title. The posts will be listed underneath. So
will give that specific listing a title of Bicycle. So when working with other arguments you can just list posts related to bicycles.
The following titles have to do with the actual post titles themselves. That is the title of each individual post.
adds inline styling for the color of the title. So
will both give the title a color of red. This function doesn't work when the title link argument below is set to true.
trim the title. For example
will trim the title to 10 words while
will trim the title to 35 characters.
will create a permalink to the given post.
Used when the above argument is set to true you may also exclude certain posts from being clickable by putting their ID's here. For example
The posts with the given ID's will not have their titles clickable.
has a default of true. But if for some reason you don't want to show the post's title just set this to false.
Designs and Lengths
will hide all meta information from showing. Some people don't want to show the date or author on certain post or pages so just set this to false.
will shorten the list to an x amount of characters so it doesn't wrap and make the listing look unprofessional. You can test with different lengths so it stays on one line. For example
will limit the string to 50 characters.
will remove the /blog if multisite is installed in a subdomain or sub-folder.
if set to true and your site has the ability to render shortcode in the manual excerpt field then this will allow it to be processed in the listings also.
will now render shortcodes in the custom excerpt field.
link_open_new_window='true' will now make all links open in a news window. To include certain links from opening in a new window do the following:
will only make the titles of the posts with the given ID's a link.
Advanced Custom Fields
This plugin now works well with the Advanced Custom Fields plugin you may download from WordPress.
works by putting in a comma separated list of all ACF slugs. So as an example
will display the zip codes, dates and emails that were put in those fields of the given post or page.
Allows you to hide the labels of the given fields. So set
to just show the field contents without their labels.
(acf_date_field_name) If you have an events directory and have an ACF field with an event date will list the pages by that order.
is the name of the acf field.
Note: You must add the following to the argument above, asc or desc so the plugin knows how to order the listed posts. Using asc will list the closest upcoming event first.
works as the date settings do above except it will now list the nearest upcoming event first.
If you have an events custom post type setup with an ACF field named events_date and have
then all events posts with an events_date before today (current date) then they will automatically be removed from the list.
except it will only display events posts from the past. That is events_date is prior to today.
will include all fields listed separated by commas.
So if you have custom fields with those names they will be displayed also.
(field_name::date) You have a post with a field name of coupon_date and would not like it to display until after the coupon becomes active like December 15th 2020 then you would list it as shown.
(field_name::date) Same as above but will only show before the given date. So you can set a coupon expiration date.
(field_name) Shows only for today. So whatever date is selected in the field_name then it has to be today to be displayed. That is only events that are happening today are listed.
will add a permalink to all acf fields displayed.
More Miscellaneous Arguments
works in conjunction with our Post Reviews plugin to display a star listing of the given rated post, page or custom post type. So if you had a business directory and wanted to include their ratings in the list you may do so.
allows you to show all pages that have no children of their own. That is bottom line child pages. Again excellent for directory listings archive pages.
Ordering Posts in Ascending Order
The default behavior in all instances is they're listed in ascending order and by date. Here are the ascending order arguments.
order_post_by='date_order', order_post_by='alphabetical_order', order_post_by='page_order'
The last one works for if you have the page attributes setting active. It's active on pages automatically.
Ordering Posts in Descending Order
It's basically the same as above accept you add the word desc to the argument as such.
order_post_by='date_order desc', order_post_by='alphabetical_order desc', order_post_by='page_order desc'
domain_mapping=(site_url / home_url)
If you have domain mapping set up on your multisite https://mainsite.com you may choose which format the hyperlinks will display. That is if you have
the domain mapped link or the internal sub domain or sub folder link set up. Example if your site that was mapped is
then the link will look like
(or however you set up your permalinks). Otherwise if you chose
it will display as: