Форма ACF после публикации продукта woocommerce

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

    <?php
/**
* The template for displaying all pages.
* Template Name: Add Product Vendor
* This is the template that displays all pages by default.
* Please note that this is the WordPress construct of pages
* and that other 'pages' on your WordPress site will use a
* different template.
*
* @package Bober
*/

?>
<?php

acf_form_head();

get_header();

?>
<div id="content">

<?php
global $woocommerce;

acf_form(array(
$post_title = 'field_5a60022b402e2',
$post_categ = 'field_5a60028e402e3',
$post_descrip = 'field_5a600384402e4',
$post_img = 'field_5a6005e1402e7',
$post_price = 'field_5a61207ce5226',
/*'post_title' =>true,
'post_content' => true,*/
'uploader' => 'basic',

'post_id' => 'new_post',
'fields' => array($post_title, $post_descrip, $post_categ,$post_price, $post_img),
'new_post' => array(
'post_status' => 'draft',
'post_type' =>'product',

),
/*'fields' => array('field_5a60022b402e2', 'field_5a60028e402e3', 'field_5a600384402e4', 'field_5a6005e1402e7'),*/'submit_value' => 'Add product'
));

?>

</div>

<?php get_footer(); ?>

В этот момент я смог присвоить название продукта и его содержание, используя приведенный ниже код на основе документации формы ACF.

'post_title' =>true,
'post_content' => true,

Как назначить значение Заголовок, значение описания, цену и изображение для публикации продукта? Мне не нужно, чтобы кто-то предоставил мне код для замены, я хочу знать, как это сделать, дать мне несколько идей или узнать, как это сделать.

Заранее спасибо!

0

Решение

Во-первых, прочитайте, как acf_form () работает.

Код acf_form () для добавления товара в woocommerce может выглядеть так:

$options = array(
'post_id' => 'new_post',
'post_title' => true,
'post_content' => true,
'new_post'      => array(
'post_type'       => 'product',
'post_status'     => 'draft'
),
'field_groups' => [$field_group_id],
'form' => true,
'return' => '%post_url%', // so they could be redirected to the product page in a draft state - i imagine?!
'html_submit_button'    => '<input type="submit" value="%s" />',
'updated_message' => 'Product Created',
'submit_value' => 'Submit Product'
);

acf_form($options);

Что касается показанного изображения продукта, создайте поле изображения и используйте приведенный ниже код для синхронизации поля с избранным изображением. Вы можете узнать больше об этом, проверив ссылку на API ACF для ACF / update_value

add_filter('acf/update_value/name=featured_image', function ($value, $post_id, $field) {
if ($value != '') {
update_post_meta($post_id, '_thumbnail_id', $value);
} else {
delete_post_thumbnail($post_id);
}

return $value;
}, 10, 3);
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]