Можно сделать двухстороннюю связь с помощью дополнительного поля. При сохранении записи 22 (продукт), брать список ID связанных отраслей и каждой из них дописывать в мета что-то типа
connected_products => [22,]
. Обратите внимание, что ID должны идти в массиве или через запятую - это позволит вам привязывать несколько продуктов к одной отрасли (и не забудьте перед установкой нового ID сначала получить старое значение, если таковое имеется, чтобы не затирать существующие привязки).
Псевдокод (пишу не проверяя, чтобы продемонстрировать логику):
add_action( 'save_post', 'connect_products_to_industries' );
function connect_products_to_industries( $post_id, $post, $update )
{
if ( ! empty( $_POST['acf_field_insdustries'] ) ) { // Если отраслей есть, название поля от балды
// предположим, что отрасли будут массивом ID, пройдемся по нему:
foreach ( $_POST['acf_field_insdustries'] as $industry_id ) {
// Получаем текущий список связанных продуктов
$products_in_industry = get_post_meta( $industry_id, 'connected_products', true );
// Надо будет проверить, не пустое ли значение (empty string если привязок еще нет, а нам массив нужен), это опущу, сами сделаете
// Дополним список IDшкой текущего продукта, если его еще нет в этом списке.
if ( ! in_array( $post_id, $products_in_industry ) ) {
$products_in_industry[] = $post_id;
// И запишем это обратно в отрасль
update_post_meta( $industry_id, 'connected_products', $products_in_industry );
}
}
}
}
Если вам надо будет выборки делать (Meta_Query) по $products_in_industry, сохраняйте IDшки продуктов отдельными мета-записями (bool $single должен быть false). Тогда с массивами и склейкой с предыдущими данными заморачиваться не надо будет, можно получать массив этих записей и работать с ним подобным образом.
Для вывода продуктов на странице отрасли достаточно запустить get_posts/WP_Query передав туда через post__in массив IDшек из meta (connected_products).