Как связать 3 типа записей?
Добрый день
Задача чтобы связать 3 типа записей.
Есть 3 типа записей products, regions, distilleries
Нашел решение здесь на сайте но работает только для связки 2-х типов записей но когда добавляю аналогичный метабок то сохранение работает только в одном из них
https://wp-kama.ru/question/kak-uvyazat-posty-iz-dvuh-proizvolnyh-tipov-zapisej
Мне нужно сделать так чтобы к products можно было выбрать в каких regions и distilleries он может отображаться.
На странице где нужно все это отображать я думаю выведу но не могу понять почему не сохраняется значение в метабоксе regions (точнее в первом не сохранятеся а сохранятся только во втором).
Подскажите где ошибка
add_action('add_meta_boxes', function () { add_meta_box( 'regions', 'regions', 'regions_metabox', 'products', 'side', 'low' ); }, 1); function regions_metabox( $post ){ $regions = get_posts(array( 'post_type'=>'regions', 'posts_per_page'=>-1, 'orderby'=>'post_title', 'order'=>'ASC' )); if( $regions ){ echo ' <div style="max-height:200px; overflow-y:auto;"> <ul> '; foreach( $regions as $region ){ echo ' <li><label> <input type="checkbox" name="post_parent" value="'. $region->ID .'" '. checked($region->ID, $post->post_parent, 0) .'> '. esc_html($region->post_title) .' </label></li> '; } echo ' </ul> </div>'; } else echo 'empty'; }; add_action('add_meta_boxes', function () { add_meta_box( 'distilleries', 'distilleries', 'distilleries_metabox', 'products', 'side', 'low' ); }, 1); function distilleries_metabox( $post ){ $distilleries = get_posts(array( 'post_type'=>'distilleries', 'posts_per_page'=>-1, 'orderby'=>'post_title', 'order'=>'ASC' )); if( $distilleries ){ echo ' <div style="max-height:200px; overflow-y:auto;"> <ul> '; foreach( $distilleries as $distillerie ){ echo ' <li><label> <input type="checkbox" name="post_parent" value="'. $distillerie->ID .'" '. checked($distillerie->ID, $post->post_parent, 0) .'> '. esc_html($distillerie->post_title) .' </label></li> '; } echo ' </ul> </div>'; } else echo 'empty'; };
проблема явно в том, потому что вы для двух разных CPT исполь тотже name
Не мешало бы увидеть функцию сохранения.
Скиньте код ее также
и второй блок
И при сохранение использ переменные с POST
Код примитивный, но вы ему красоту добавите уже сами.
А потом на странице продукта - можно получать регионы и distilleries
И также на страницах регионов можно получать продукты.
Я бы использовал ACF для добавл метабоксов. Или пойти можно решением через таксономии. Зависит от того, какие дальнейшие задачи-требования.
Какая структура на сайте.
А через ACF как связать?
Суть такая что на сайте есть три типа постов. Хочу указать в продуктах куда его можно относить. Сайчас сделано через ACF Relationship вывод товаров в distilleries вручну но так как distilleries много проще сделать чтобы в продуктах указать в какой из типов записей его относить.
я не понимаю вашей заадчи, но вы же код добавл
и у вас проблема с сохран
Так вот замените код на ACF блоки, логика такая же как в коде.