Improved API
In this release, I focused on making the API more uniform; everything works for both posts-to-posts and posts-to-users connections now. This is possible because you can pass whole post and user objects, instead of just IDs.
Previously:
$connected = get_users( array(
'connected_type' => 'posts_to_users',
'connected_items' => $post->ID
) );
Now:
$connected = get_users( array(
'connected_type' => 'posts_to_users',
'connected_items' => $post
) );
This small change gives P2P more information to work with, which means fewer database queries are needed.
Shortcodes!
The plugin now comes with a pair of shortcodes for conveniently listing connected items anywhere.
Say you defined a connection type called ‘posts_to_pages’. Here’s how the shortcode would look like:
[p2p_connected type=posts_to_pages]
If you insert that into a post, it will display a list of connected pages. If you insert it into a page, it will display a list of connected posts.
And there’s one for related posts too:
[p2p_related type=posts_to_pages]
Shortcodes and widgets also have filters for modifying the HTML output.
Default field values
You can now set default values for the connection fields in the metabox, likes so:
p2p_register_connection_type( array(
'name' => 'posts_to_pages',
'from' => 'post',
'to' => 'page',
'fields' => array(
'color' => array(
'title' => 'Color',
'type' => 'checkbox',
'values' => array( 'green', 'yellow', 'blue', 'white' ),
'default' => 'blue'
),
)
) );
In total, there were 16 resolved issues in this release.