如何在 ACF 表单中添加多个提交按钮?

我在 WordPress 网站的前端使用 ACF 表单。它用于在 WordPress 中创建自定义帖子。我需要在这个 ACF 表单中添加两个提交按钮。当我点击第一个按钮时,它应该创建一个新帖子并且帖子状态应该是发布,当我点击另一个按钮时,它应该创建一个新帖子并且帖子状态应该是草稿。


我下面的代码将创建一个状态为已发布的帖子。我怎样才能做到这一点?


<?php

acf_form(array(

'post_id'       => 'new_post',

'field_groups' => array(258),

'new_post'      => array(

'post_type'     => 'property',

),

'post_title' => true,

'post_title_label'  => 'Community Name',

'submit_value'  => 'Submit for Review'

)); 

?>


三国纷争
浏览 76回答 1
1回答

慕虎7371278

可以使用隐藏字段和一些 jQuery 来实现这一点。步骤 1:您需要添加隐藏字段并将默认值设置为 1。<?phpacf_form_head();acf_form(array('post_id' => 'new_post','field_groups' => array(258),'new_post' => array('post_type' => 'property',),'id' => 'form_draft','html_after_fields' => '<input type="hidden" id="hiddenId" name="acf[current_step]" value="1"/>','return' => home_url('property-thank-you'),'post_title' => true,'post_title_label' => 'Community Name','submit_value' => 'Publish'));?>第2步:在表单附近使用以下代码,然后使用 jQuery 将此字段附加到表单。<input type="submit" id="draft_btn" class="acf-button2 button button-primary button-large" name="draft_btn" value="Save as Draft" onclick="click_ignore();"><script type="text/javascript">jQuery(document).ready(function(){jQuery("#draft_btn").detach().appendTo('.acf-form-submit');});</script>第 3 步:单击“草稿”按钮时,将其值覆盖为 2。<script type="text/javascript">function click_ignore(e) {document.getElementById('hiddenId').value = 2;return false;}</script>第 4 步:在 fucntions.php 中添加以下代码,这将根据我们单击的按钮更改帖子状态。<?phpfunction my_acf_save_post($post_id) {$submitedStatus = $_POST['acf']['current_step'];if ($submitedStatus == 1){$value = 'pending';}else if ($submitedStatus == 2){$value = 'draft';}// Update current post$my_post = array('ID' => $post_id,'post_status' => $value,);remove_action('acf/save_post', 'my_acf_save_post', 20);// Update the post into the databasewp_update_post($my_post);// Add the action backadd_action('acf/save_post', 'my_acf_save_post', 20);}// run after ACF saves the $_POST['acf'] dataadd_action('acf/save_post', 'my_acf_save_post', 20);?>我们在单个 ACF 表单中添加了“发布”和“另存为草稿”按钮。
打开App,查看更多内容
随时随地看视频慕课网APP