I am trying to programmatically generate data in my wordpress site. I use WPAlchemy for my metaboxes and the posts-to-posts plugin for post-to-post relationships.
In my generation function, I am generating a custom post type called 'songs' to all be connected to one particular post of a post type called 'artists'. I am using p2p_type('songs_to_artist')->connect($song_id, $artist_id, ['date' => current_time ('mysql')])
to connect two posts for each song I generate. My problem is that after I have ran this function, I can no longer update artist meta data from my metabox in the backend edit post view.
I did some digging for myself and have found a few results:
update_post_meta()
or by updating it directly in the DB.Has anyone else come across this? I can't find anything anywhere of anyone else describing this behavior.
Thank you so much in advance!
The problem was that there was too much data rendering onto the edit page when too many connections were made, preventing postmeta from saving because the site was slowed down from all of the connection data. A simple fix for this is the following code:
add_filter( 'p2p_admin_box_show', 'toggle_connection_view', 10, 3 );
function toggle_connection_view( $show, $ctype, $post ) {
if ( $ctype->name == 'songs_to_artist' ) {
$show = false;
}
return $show;
}
This removed that particular card from the admin edit view, speeding things up tremendously and removing the problem I described.