我需要在“发布/更新”按钮上单击“其他”形式来打开模式窗口。然后,管理员将有可能填写其他字段并单击模式中的更新按钮。这些字段与本文无关,因此我需要将它们保存在数据库的特定表中。
我试图通过jQuery修改onclick事件以发布按钮。但是,在模式窗口中单击更新按钮后,如何手动发送这两种形式。 我知道wp_insert_post_data的工作原理,在将帖子添加到数据库之前可以正常工作,所以我想写些类似的东西:
add_filter('wp_insert_post_data', 'do_not_create_post', '99');
function do_not_create_post($data) {
$data['post_status'] = 'pending';
add_filter('redirect_post_location', 'my_post_redirect_filter', '99');
return $data;
}
function my_post_redirect_filter($location) {
remove_filter('redirect_post_location', __FILTER__, '99');
return add_query_arg('open_modal', 1, $location);
}
add_action('admin_notices', 'my_post_admin_notices');
function my_post_admin_notices() {
if (!isset($_GET['open_modal'])) return;
if ($_GET['open_modal'] == 1) {
echo '<script> which opens modal window';
}
}
有没有更简单的方法?填写模态后如何将帖子手动插入数据库,然后保存其他数据?通常,我需要一种方法来以更漂亮的方式正确修改编辑/添加帖子页面。