WordPress.org

Ready to get started?Download WordPress

Plugin Directory

Post Forking

WordPress Post Forking allows users to fork or create an alternate version of content to foster a more collaborative approach to WordPress content cur

How To Contribute

Post Forking is an open source project and is supported by the efforts of an entire community. We'd love for you to get involved. Whatever your level of skill or however much time you can give, your contribution is greatly appreciated.

Roadmap

Future Features (Maybe):

Under The Hood

** Warning: geek content! **

Forking a post creates a copy of the most recent version of the post as a "fork" custom post type. Certain fields (e.g., post_content, post_title) are copied over to the new fork. The plugin also stores the revision ID for the revision prior to when the fork was created (see includes/revisions.php for more information as to why we store the previous revision).

The fork post type has its own capabilities, allowing a user without the ability to edit or publish on the parent post to edit a fork. Once changes have been made, assuming the user does not have the publish_fork capability, the user would submit the fork for review (similar to submitting a Pull Request in GitHub parlance) using the normal WordPress moderation system.

Publishing a fork (either by the fork author, if they have the capability, or my an editor) triggers the merge itself. The post content of the fork undergoes a three way merge with the base revision and current version of the parent post.

A fork can have three post statuses:

  1. Draft - The fork is being edited
  2. Pending - The fork has been submitted for publication
  3. Published - The fork has been merged

Note: No user should have the edit_published_fork capability. Once published, the fork post_type simply exists to provide a record of the change and allow the author page, to theoretically list contributions by author.

Where To Get Support Or Report An Issue

There are various resources available, depending on the type of help you're looking for:

  • For getting started and general documentation, please browse, and feel free to contribute to the project wiki.
  • For support questions ("How do I", "I can't seem to", etc.) please search and if not already answered, open a thread in the Support Forums.
  • For technical issues (e.g., to submit a bug or feature request) please search and if not already filed, open an issue on GitHub.
  • For implementation, and all general questions ("Is it possible to..", "Has anyone..."), please search, and if not already answered, post a topic to the general discussion list serve
  • For general discussion about the project and planning, please see the P2

Requires: 3.5 or higher
Compatible up to: 3.6.1
Last Updated: 2013-9-26
Downloads: 2,288

Ratings

5 stars
5 out of 5 stars

Support

Got something to say? Need help?

Compatibility

+
=
Not enough data

0 people say it works.
0 people say it's broken.

100,2,2
100,4,4
100,1,1
50,2,1