Forking Posts 2 Posts

I am working towards adding block editor and REST API support to this unmaintained but still useful plugin.

Published in

Screenshot of the Posts 2 Posts WordPress.org plugin page

The Posts 2 Posts plugin author stopped developing new features around 2012 and more recently stopped reviewing and accepting pull requests in 2016. Despite the plugin’s unmaintained status, it remains in use on many sites, including some I work on.

Block editor support

The block editor represents a large enough addition to WordPress that for the first time, I found myself wishing the Posts 2 Posts plugin was being developed. The plugin’s current user interface is functional but lacks support for the block editor. In my mind, this is a delineation which will eventually lead to this plugin becoming unusable.

As a member of the WordPress community, and also someone looking for a project on which to practice my React.js and block development skills, I’m going to work on bringing block editor support to a fork of the Posts 2 Posts plugin.

My fork can be found on GitHub. I’m also planning on posting development notes here on this site.

Should I succeed in my hopes of bringing block editor support, I’ll submit a pull request in hopes it gets accepted. This seems unlikely, however, so at this point I may publish the plugin under a new name. I have a terrible track record of completing projects like this one, so we’ll wait on eggs to hatch before counting chickens.

REST API support

The second feature I’m planning to develop in my fork is REST API support. To date, it’s been easy enough to include the fields and endpoints I needed to meet my needs at the time, but a more comprehensive solution would be nice.

With the API support, I see relationships being exposed as fields in posts and users endpoints and provide the option for linked content to be embedded in responses via the _embed parameter.

Beyond fields in core endpoints, I also see uses for a connection endpoint supporting creating, reading, updating, and deleting connections.

Connections will continue to be registered in code, but once registered, the idea is other actions can be performed via the API.


Comments

Leave a Reply

Your email address will not be published. Required fields are marked *