Добавить расширенное настраиваемое поле в существующую форму на Dokan - Добавить продукт и отредактировать страницу продукта (WordPress / WooCommerce)

Я использую плагин от различных поставщиков (Dokan) и настраиваю его. Одна вещь, которую я хочу достичь и с которой борюсь, - это то, что я хочу, чтобы мое расширенное настраиваемое поле (также плагин) для отдельного продукта действительно отображалось во внешнем интерфейсе в одной из форм панели инструментов продавца Dokan (раздел редактирования продукта).

Я хочу, чтобы мой продавец мог выбрать бренд (мое поле acf) на внешней странице.

Обычно, когда мы добавляем новую группу полей acf и назначаем ее архиву, поле появляется на сервере.

Я обнаружил, что этого довольно сложно достичь, особенно добавляя настраиваемое поле в существующую интерфейсную форму.

Я пытаюсь настроить его, и, наконец, у меня появилось поле в форме, которую я хочу, но затем возникла другая проблема: кнопка сохранения в исходной форме больше не нажимается.

См. Снимок экрана: https://gyazo.com/dfb20ed90e773723658979c515581730

и вот код, который я попытался добавить в свой single-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>

Я знаю, что это неправильно, но каким-то образом этот код помог мне перенести расширенное настраиваемое поле в нужную мне форму, и он фактически сохраняет данные поля в продукте, когда вы нажимаете кнопку «Обновить».

Я подумал, может быть, стоит обойти это в дочерней теме function.php ...

Любая помощь будет очень признательна!

Люк


person Ming Lu Lee    schedule 19.09.2019    source источник


Ответы (1)


Вы можете использовать бесплатный плагин под названием ACF Frontend Form для Elementor, чтобы добавлять / редактировать продукты из внешнего интерфейса для ваших продавцов / поставщиков. https://wordpress.org/plugins/acf-frontend-form-element/ < / а>

Для этого вам также необходимо использовать плагин elementor и создать страницу продукта через elementor

person Faisal Akram    schedule 08.07.2020