DJD Site Post Plugin
Author: Dirk Jarzyna
Version: 0.7 (still a Beta Release)
Compatibility: 3.0 to 3.6.1 (tested)
Use the plugin to write and publish articles from your WordPress site’s front end without leaving the site and logging into the back end. Supports guest posts.
Sure, a Thank You is nice, but a cold beer is better. If you find my plugin useful why don’t you buy me a fresh one?
Keep in mind that this plugin still is a beta version. If you download the plugin I would appreciate to receive your feedback. Leave your thoughts and (hopefully not) error reports at the support forum at wordpress.org since I would like to avoid a mix-up of English and German language at the plugin’s web page and website.
Hey, we already have such a thing!
Not really. The idea to write the DJD Site Post plugin came to me when I was searching for a plugin that enables me to write and edit articles directly at the front end. Sure, my search produced some hits. But none of the plugins worked the way I wanted them to work. I wanted a plugin just for this task: to write and publish an article and maybe to edit this article again later on without leaving the site. A plugin such as Gravity Forms seemed to me way too complex for this task (from an admin’s point of view). Other plugins didn’t hit the mark because they didn’t support media uploads or because they worked as sidebar widgets or inside iframes only. And finally most of the plugins were out of the question because they didn’t support editing existing articles. Maybe I didn’t search hard enough? Maybe. Anyway I started to write the plugin I wanted myself.
The DJD Site Post plugin adds a form (responsive) to your site that enables logged in users — and guests, if you wish — to write articles and publish them. This makes it the perfect plugin for user-created content.
The plugin is translation ready, English and German is includes already.
By tweaking a couple of plugin settings the administrator can influence how the plugin works. He can select which fields to present inside the form the user sees. He can chose to display the content field only or to display an additional field for the excerpt, to display categories as select boxes or check boxes, to display a field for tag input, and to permit or prohibit media uploads. The content field uses the well-known TinyMCE editor which was made responsive to work with this plugin. The admin can select to display a minimal version, a full version (visual and html) or an html-only version of this editor. It you use this plugin inside a responsive layout you should avoid using the visual editor though. That’s because some browsers for Android don’t support all the tags used by the visual editor.
Each field presented inside the form can have a custom label. That way the admin is able to change the standard label “Excerpt” to “Introduction” if that makes sense.
If you chose to permit guest posts than you can select the user account you want guest posts published with. Of course you should select an account with minimal permissions. The admin can chose not to publish articles immediately but to store them for review instead. If he wishes, he will receive an email notification each time a new article is published (or saved).
After installing and activating the plugin you can include the post form on any page and in any article. You just have to include a simple shortcode.
The plugin doesn’t yet include all the functionality I want it to provide. I am already working on some extensions and improvements including the following:
- A function that enables users to delete existing posts.
- An anti-spam mechanism for guest posts (captcha).
- Provide different skins (CSS).
- Unzip djd-site-post.zip
- Upload the files to /wp-content/plugins/djd-site-post.
- Activate the plugin in WordPress menu »Plugins«.
- Configure the plugin’s settings. To do so in in WordPress menu »Settings« click on »DJD Site Post«.
- Use the shortcode [djd-site-post] inside the page where you want to display the post form. Write down the page-id of that page, you´ll need it later.
DJD Site Post Settings
The plugin’s settings you find under the WordPress menu »Settings«. Click »DJD Site Post«.
You can configure the following settings:
Form Title: Your post form’s custom title. Default: Frontend Post.
Edit Page ID: The page-id of the page where you´ve entered the plugin´s shortcode. This is the page where the form will appear. This is also the page that opens when a user clicks the link »Frontpage Edit« which appears right beside WP´s regular »Edit« link somewhere below an article (depends on your theme). Example: If you enter the plugin shortcode on a page with page-id 427 you would enter 427 here.
Publish Status: The status new articles will get: Publish, Pending, Draft, Private. Default: Publish. That means that a new article will be published immediately even if it is written by a guest. If you use the plugin mostly for guest posts you should change the setting to Draft.
Post Confirmation Message: The message the user sees after successfully submitting the post. Not used in current release.
Post Failure Message: The message the user sees if an error occurred during post submission. Not used in current release.
Redirect to: The URL the user will be redirected to after submitting the post, for example http://mysite.com/posts. This setting will be overwritten by shortcode parameters if present: [djd-site-post success_url="url"] or [djd-site-post success_page_id="id"]. Default: The site’s home URL.
Mail on New Post: Whether or not the administrator will receive an email notification on new posts submitted from the front end. Uses the admin’s email specified in the WordPress settings. Default: Activated.
Display Login Link in Form: Displays a link to a login screen. After login the user returns to the form. If you would use WP´s regular login instead, the user would end up in your site´s backend which is most probably not what you want.
Hide WordPress Toolbar: By checking this you hide the toolbar. Even logged in users won´t see it anymore.
Hide regular WP Edit Link: This hides the »Edit« link that shows up somewhere below your articles (depending on your theme). Use this setting if you just want to display the »Frontend Edit« link. Obviously those links only show up when the user has permission to edit posts (Admins, Editors, Authors).
Allow guests to post: Whether or not guests (users not logged in) are permitted to write and submit articles from the front end. If deactivated users not logged in will see a message asking them to login when opening the page containing the post form. Default: Deactivated.
Guest Account: The user account to publish the articles with. I recommend selecting an account with the role Contributor.
Allow Guests to select Category: If you want your guests to have the freedom to select a category themselves check this setting.
Category for Guest Posts: The default category for guest posts.
Display Categories: How to display categories inside the post form. Chose Droplist (select box), Check boxes or No Display. Default: Droplist.
Create New Category: Whether or not users will be able to create new categories. Default: Deactivated.
Category Order: The sort order. By name or by ID. Default: by ID.
Require a Title: Check this if you want to enforce titles.
Show separate Excerpt: Displays a text box to enter an excerpt. Default: Activated.
Content Field Style: The style of the editor used: Simple – Plain Text, Rich – Visual and HTML, HTML – HTML only. Standard: Rich – Visual and HTML.
Allow Media Upload: Whether or not users are permitted to upload media files (images, video). Default: Activated.
Allow Tags: Whether or not to display a field to enter tags. Default: Deactivated.
Email & Name for Guest Posts: Force guests to enter their email address and name. This information ends up as custom field data inside the article.
With the settings in this section you can change the labels used for the fields in the post form.