[英]How to add a field in edit post page inside Publish box in Wordpress?
[英]Wordpress - Add form inside post edit page
我想在帖子編輯頁面中創建一個新的metabox,其中包含一個按鈕,該按鈕應提交帶有隱藏字段的表單。
問題在於后期編輯頁面本身就是表單-因此從技術上講,我正在嘗試在表單內部創建表單,而HTML規范無法做到這一點。
另外,我也不想通過GET(簡單鏈接)提交,因為它不能被緩存。
這是代碼:
function meta_box_html()
{
?>
<form action="..." method="post">
<input type="hidden" name="name" value="value">
<input type="submit">
</form>
<?php
}
add_action("add_meta_boxes", function () {
add_meta_box("id", "title", "meta_box_html", "post", "side", "high", null);
});
當我單擊按鈕時-什么也沒有發生,並且頁面僅被重新加載。
有什么想法如何添加表單到發布編輯頁面?
我遇到過同樣的問題。 這是我解決的方法。
首先,為方便起見,我在管理員警報中生成了表單,如下所示。 如果僅希望將其顯示在“編輯帖子”頁面上,則可以將其放在if()中,該命令檢查當前頁面的ID是否為“ post”,parent_file是否為“ edit.php”。
function myform_custom_box_html($post)
{
?>
<div id="myform_holder">
<form action="<?php echo admin_url('admin-post.php'); ?>" method="post" id="myform" >
<input type="hidden" name="action" value="myform">
<input id="myform_fname" type="text" name="myform_fname" value="" placeholder="Recipient name" /><br />
<input type="submit" name="myform_submit" id="rejecter_submit" class="button button-primary" value="Submit Form">
</form>
</div>
<?php
}
add_action( 'admin_notices', 'myform_custom_box_html' );
然后,我使用了一些js將其移動到頁面中想要的位置。 在這種情況下,它會將其附加在“發布”按鈕的正下方,但是您可以定位所需DOM中的任何元素。 您必須將其放入正確排隊到wordpress admin的文件中:
$(document).ready(function() {
var myform = $('#myform_holder').remove();
myform.appendTo('#major-publishing-actions');
});
兩種形式都可以使用這種方法正常工作。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.