Я использую плагин для нескольких поставщиков (Dokan) и настраиваю его.Одна вещь, которую я хочу достичь и с которой борюсь, это то, что я хочу, чтобы мое расширенное настраиваемое поле (также плагин) для отдельного продукта действительно отображалось на внешней панели в одной из форм панели инструментов продавца Dokan (раздел «Редактирование продукта»).
Я хочу, чтобы мой продавец мог выбрать марку (мое поле acf) на конечной странице.
Обычно, когда мы добавляем новую группу полей acf и назначаем архиву,поле появится на бэкэнде.
Мне показалось, что это довольно сложно достичь, особенно добавление пользовательского поля в существующую внешнюю форму.
Я пытаюсь настроить его, и янаконец-то, чтобы поле появилось в форме, которую я хочу, но потом возникла другая проблема: кнопка сохранения из исходной формы больше не активируется.
Пожалуйста, смотрите скриншот: https://gyazo.com/dfb20ed90e773723658979c515581730
и вот код, который я попытался добавить в мой файл-product-new.php моего Dokan:
<?php acf_form_head(); ?>
<div class=”dokan-form-group”>
<?php
$product_brand = -1;
$term = array();
$term = wp_get_post_terms( $post_id, ‘brand’, array( ‘fields’ => ‘ids’) );
if ( $term ) {
$product_brand = reset( $term );
}
include_once DOKAN_LIB_DIR.’/class.category-walker.php’;
include_once DOKAN_LIB_DIR. ‘acf.php’;
$brand_args = array(
‘hierarchical’ => 1,
‘hide_empty’ => 0,
‘fields’ => array(‘brand’),
‘name’ => ‘brand’,
‘id’ => ‘brand’,
‘taxonomy’ => ‘brand’,
‘title_li’ => ”,
‘class’ => ‘product_brand dokan-form-control dokan-select2’,
‘exclude’ => ”,
‘selected’ => $product_brand,
‘walker’ => new DokanCategoryWalker( $post_id )
);
acf_form($brand_args);
?>
<div class=”dokan-product-cat-alert dokan-hide”>
<?php esc_html_e(‘Please choose a brand!’, ‘dokan-lite’ ); ?>
</div>
</div>
Я знаю, что это неправильно, но каким-то образом этот код помог мне вытащить адвоnced пользовательское поле на форму, которую я хочу, и это на самом деле сохраняет данные поля в продукт, когда вы нажимаете кнопку обновить.
Я думал, может быть, стоит обойти это в функции child-theme.php ...
Любая помощь будет по достоинству оценена!
Люк