I am actively working on this plugin, as of 3/14/2011, so if you wish to be alerted to a new version, please read the note below.
I test this plugin thoroughly before releasing a new version, however I cannot test every possible permutation. If you’d like an advance copy before it is released proper, please send a blank email to w [at] wesg [dot] ca with the subject “MPM Beta Test” and I’ll keep you in the loop.
Ever had the need to create multiple pages or posts and dreaded the idea of doing it manually?
Mass Page Maker is an admin panel that gives you the ability to create as many pages or posts as you like in a matter of seconds. It can create posts and pages that are customized with every aspect of a regular WordPress page.
Note about future publishing:
Wordpress uses a cron system to do work automatically at scheduled times. This system is triggered when a user visits your home page, and the scheduled time has passed. In the case of this plugin, it may appear that the scheduled post is not published (as viewed from the WP Admin Panel), but that could be because no visitors have been to your home page. On my test system, with WP 2.8.4, each future post has shown up properly when visiting the home page after the scheduled time has passed.
Tested thoroughly with 3.0. If you have problems with an earlier version, or even if it works properly, please contact me or post a comment.
Table of Contents
Translations
Mass Page Maker is compatible with WordPress’ locale system. If you are interested in translating for your locale, please comment below or email wesg [at] wesg [dot] ca. If you’re particularly ambitious, translate the .PO file in the plugin download and send back to that address.
Current Translations
- Michael M. — German
- Fatcow — Russian
- Georg — Danish
- Ilyuha — Belarusian
Thanks for helping to translate!
Donations
If you wish to donate to further the development of this plugin, please use the PayPal button below. Comments on posts are also very valuable to me.
Download latest version of Mass Page Maker
Usage
- Fill out the fields in the admin panel according to what your needs are. If you include
<inc>, the plugin automatically inserts the incremented data. - Page titles can be different. Separate them by semicolons. If more pages are requested than have titles, the last known page title is duplicated.
- Page content and page excerpts can also be different. The specific text must be separated with
(see below). - Entering a post date in the future will result in the post being published at that time.
- Use a CSV (comma separated value) file to insert a large number of customized pages.
- The plugin can handle nearly all the regular WordPress options.
Example:
If the name of your post is New Page <inc> and you want 5 pages written, the resulting pages will be
New Page 1
New Page 2
New Page 3
New Page 4
New Page 5Example:
You want 4 pages with 4 different titles. Type About; Archive; Contact; Random Post;
and the pages that are created are
About
Archive
Contact
Random PostExample:
Combine everything to get the job done quickly. If you want 6 pages and type this into the title field: Page <inc>!; Article <inc>?; Post <inc>
the resulting page titles are:
Page 1!
Article 2?
Post 3
Post 4
Post 5
Post 6while the resulting page names are
page-1
article-2
post-3
post-4
post-5
post-6Example:
Combine everything together to create multiple pages with different titles and different content. To create 3 different posts, use this in the title field Page <inc>;Post <inc>; Comment <inc> and use this in the content field
The resulting pages will be:
Page 1 --> Page content 1
Post 2 --> Post content 2
Comment 3 --> Comment content 3Custom fields example:
To add two new fields to your new posts, use semicolons.
phone; address --> 123 456 7890; 123 fake stThis results in each new post having both of those fields associated with it.
Using CSV files
I have made a new page to help simplify the use of CSV files. CSV Builder can give you text based on data entered on the page.
The biggest feature in v2.5 is the ability to insert custom pages using a CSV file. While being more powerful when entering pages, it is also more complicated. You must follow a specific format when building files.
Please view the sample file before adding your own. Be advised that while the sample file will work, it contains mostly irrelevant data to a blog.
The CSV file must have exactly 15 columns. Any columns that aren’t used must be included, but kept blank (ie. “”).
When using Excel to create CSV files, be sure to check the use of quotation marks before uploading the file to the plugin. Excel has a tendency to get confused when fields of text use quotation marks inside.
Format to follow
Each line in a CSV file follows a pattern separated by commas that turns the file into a makeshift database. The MPM CSV follows this pattern:
- Page title
Regular post title value - Page publishing date (in the timezone of your WordPress installation)
Must follow the format YYYY-MM-DD HH:MM:SS. The seconds are optional. The plugin will verify the format before inserting the file. - Post content (commas and quotation marks must be escaped using the \\ character)
Escape the quotations and apostrophes with the backslash character. - Post excerpt (same restrictions as content)
- Post category
The category title. - Post parent
The page ID of the parent post (only valid on pages). Default should be 0. - Page template
The PHP file in your template directory you want to use (ie. contact.php). “Default” is the default template. - Post status
One of the following list: publish, draft, private, password. “Password” must be set to activate the post_password property. - Post type
Either post or page. - Comment status
Open or closed. - Ping status
Open or closed. - Custom key
Post meta field (doesn’t have to previously exist). Separate different fields with semicolons — be sure to surround the field in quotations (ie. “field 1; field 2″) Can be empty. - Custom key value
Corresponding post meta value. Separate different values with semicolons (ie. “value 1; value 2″) Can be empty. - Tags
Enter tags separated by commas Can be empty. - Post password
The post password (must set post_status to password for this to be active) Can be empty.
Escaping characters
To clarify some of the questions coming in, here is an overview of how to escape characters when using CSV. Inside the sample file, you’ll note that fields are either surrounded by quotation marks or not. When fields are surrounded by quotation marks, any extra quotation marks inside the text must be escaped (ex.1) and when there are no quotation marks, all commas need to be escaped (ex.2).
| , “Sample field with \” inside the text”, | , Sample field\, with comma escaped, |
| , “Sample field with improper ” inside the text”, | , Sample field, with comma improperly escaped, |
Caution: This plugin is extremely powerful. A slip of the mouse can cause your blog to insert many more pages than you intended, which can take a lot of time to delete. Read the options carefully before inserting pages.
Installation
- Copy the folder mass-page-maker to your WordPress plugin folder (usually wp-content/plugins).
- Open the WordPress Admin Panel and activate the plugin.
- Navigate to your Option panel, where you will see the plugin’s interface.
FAQ
What is the purpose of this plugin?
Mass Page Maker automates the task of making pages or posts that are similar to each other. This can be a very time consuming process that can now be done in a matter of seconds.
What options are available?
In the interface panel, you have the ability to customize the page insertion.
You can change:
- Number of pages
- Starting number of page
- Post/Page title
- Post/Page content
- Post/Page status (published or draft)
- Post/Page type
- Post/Page category
- Page parents
- Page excerpts
- Specific page dates
- Time interval between pages
- Page template
- Page visibility/password
Can I have pages with different titles?
Certainly. Separate your page titles with semicolons, and be on your way.
Cool. But what about post content?
You bet. Version 1.5 brought support for individual page content. See above examples for more.
How does it use categories?
As of version 1.2, you can now add categories to your added pages. Currently you are limited to one category per input.
What about page parents?
From version 1.3 you can now set page parents so that posts and pages are nested within one another.
How does the individual page content work?
Version 1.5 enables the use of separate page content. By separating the text with <!– MPM –> each page can have a different title or content. The category will always be the same.
What’s a big deal in v2.0?
Version 2.0 (as it’s name would suggest) represents a significant upgrade to the abilities of the plugin. It includes an overhaul to the date/time behaviours by now entering the data based on the WordPress time zone, rather than the server itself. Times can be entered manually, with specific intervals between posts, and page excerpts can be entered at the same time.
What’s the latest feature in 2.5?
V2.5 contains a significant upgrade in the ability to handle CSV file imports. With this file, users can insert a large number of pages while completely customizing each property.
Can I include custom fields?
As of version 2.5.3, users can add custom fields to each new page. Each field is included with every new page (separate each field with a semicolon).
When will tags be included?
Version 2.5.8 now includes support for WP 2.8 and has the ability to incorporate tags in the blog system. You can insert tags from the web interface, or CSV files.
Screenshot
Click for a larger view.
Changelog
v1.0 –– June 18, 2008
* Initial release
v1.1 — June 19, 2008
* Added support for multiple page titles
* Built fault tolerance in
* Added new ways to enter pages faster
* Posts and pages can how have comments and pings that are open or closed
v1.1.1 — July 28, 2008
* Cleaned up code and readme file
v1.2 — September 2, 2008
* Enabled adding categories to posts
* Optimized code
v1.3 — November 1, 2008
* Enabled page parents
* Made the plugin compatible with WordPress internationalization
v1.4 — January 6, 2009
* Updated for WordPress 2.7
* Completed localization capability
v1.5 — January 18, 2009
* Added ability to create pages with different content
v2.0 — February 6, 2009
* Overhauled date and time system
* Added page excerpt data
* Added ability to insert posts in the future or the past
v2.1 — February 8, 2009
* fixed what should have worked in 2.0
v2.5 — March 14, 2009
* Corrected cron behaviour with future posts
* Added page template option
* Add CSV file imports
v2.5.1 — March 14, 2009
* Corrected some type wrong in v2.5
v2.5.2 — March 15, 2009
* Finally fixed future posting cron errors
v2.5.3 — March 18, 2009
* Added custom field support
v2.5.4 — March 21, 2009
* Made custom field work in each way
* Add German translation
v.2.5.5 — April 6, 2009
* fixed increment tag in page content and excerpt
v2.5.6 — April 30, 2009
* Added placeholder support
* Added better troubleshooting feedback for CSV files
v2.5.7 — May 17, 2009
* Added better compatibility and feedback with CSV files
v2.5.8 — June 28, 2009
* Improved support for WP 2.8
* Added tag support
* Better compatibility with CSV files
v2.5.9 — July 22, 2009
* Added troubleshooting information
v2.6 — July 23, 2009
* Fixed WP 2.8.x compatibility
v2.6.1 — August 9, 2009
* Improved quotation handling
* Added page visibility options
v2.6.2 — August 9, 2009
* Fixed quotation handling
v2.6.3 — August 10, 2009
* Cleaned page insertion problem
* Repaired template issues
v2.6.4 — August 20, 2009
* Repaired category support
v2.6.5 — September 9, 2009
* Fixed category problems
* Improved fault tolerance
* Categories and tags are now inserted automatically if they do not already exist
v2.6.6 — December 17, 2009
* Added support for page orders
* Improved handling of escaped characters in CSV and web interface
* Various other bug fixes
v2.6.7 — July 19, 2010
* Rewritten for WP 3.0
* Improved the reliability of the CSV and web interface
* Fixed tags in CSVs
For those looking for a solution to proper Excel usage with the CSV feature, Adam, of http://beernews.org/ offers this suggestion:
For any people using only Excel to alter CSV files and get errors when uploading, I think I have your fix.
1) Download the original CSV sample file here and right-click to open the file w/ notepad. Keep it open.
2) Right-click the sample again but open with Excel. Save in Excel. Right-click to open w/ Notepad again. See a difference (i.e. extra quotations all over the place?)
3) Excel puts double quotations around cells (aka fields) where there is a quotation by default but there is a workaround. Go to http://www.mcgimpsey.com/excel/textfiles.html
4) Scroll down to the heading ‘Text files with no modification’ and copy that code underneath.
5) Open that sample csv file back up in Excel
6) Click on Visual Basic Editor in Excel (I think you need to click on Macros in 2003 version or Developer tab in 2007 version)
7) Right-click sheet 1, click on insert module and paste the big code into the large white text box that opens up.
Click back to Excel view and click Run Macro. Choose the one that says ‘Text no modification’ and click run.
9) Check the directory on your local machine where you saved the sample file and look for test.txt. Open in notepad, save the file as a CSV file. But do you notice there are no more double quotes everywhere??
10) Upload new CSV file…seems like a pain, but this honestly takes about 2 minutes to do once you’ve learned it. 30 min learning curve.

