p2p_to; }, $p2p_res); $related_from_ids = array_map(function($post) { return (int)$post->p2p_from; }, $p2p_res); $unfiltered = array_merge($related_to_ids, $related_from_ids); $deduped = array_unique($unfiltered); return array_diff( $deduped, array($id_to_remove) ); } function prepare_related_items($post_ids) { // Rearrange what fields get shown $collection = array(); // Use IDs to get posts from the wpdb $args = array( 'numberposts' => -1, 'post_type' => 'any', 'include' => $post_ids ); $related_items = get_posts($args); forEach( $related_items as $item ) { $collection[$item->ID] = $item; } return $collection; } function p2p_related_to($id, $type) { global $wpdb; $sql = $wpdb->prepare( "SELECT * FROM wp_p2p WHERE p2p_from = %d OR p2p_to = %d", $id, $id ); $res = $wpdb->get_results($sql); $related_posts_ids = grab_ids_related_to_and_from($id, $res); // wp_reset_postdata(); $related_posts = prepare_related_items($related_posts_ids); if(empty($related_posts_ids)) { return []; } else { return $related_posts; } } ?>