亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何在 ACF 表單中添加多個提交按鈕?

如何在 ACF 表單中添加多個提交按鈕?

PHP
三國紛爭 2022-10-14 16:28:42
我在 WordPress 網站的前端使用 ACF 表單。它用于在 WordPress 中創建自定義帖子。我需要在這個 ACF 表單中添加兩個提交按鈕。當我點擊第一個按鈕時,它應該創建一個新帖子并且帖子狀態應該是發布,當我點擊另一個按鈕時,它應該創建一個新帖子并且帖子狀態應該是草稿。我下面的代碼將創建一個狀態為已發布的帖子。我怎樣才能做到這一點?<?phpacf_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')); ?>
查看完整描述

1 回答

?
慕虎7371278

TA貢獻1802條經驗 獲得超4個贊

可以使用隱藏字段和一些 jQuery 來實現這一點。


步驟 1:您需要添加隱藏字段并將默認值設置為 1。


<?php


acf_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 中添加以下代碼,這將根據我們單擊的按鈕更改帖子狀態。


<?php

function 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 database

wp_update_post($my_post);


// Add the action back

add_action('acf/save_post', 'my_acf_save_post', 20);

}


// run after ACF saves the $_POST['acf'] data

add_action('acf/save_post', 'my_acf_save_post', 20);

?>

我們在單個 ACF 表單中添加了“發布”和“另存為草稿”按鈕。


查看完整回答
反對 回復 2022-10-14
  • 1 回答
  • 0 關注
  • 91 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號