我正在寻找一个问题的解决方案,该问题发生在an earlier question.
一般的想法是,我想在post表单上调用submit并发布页面。现在发生的情况是页面重新加载,并显示消息“页面已更新”,但页面未发布,甚至未起草
我创建了一个小演示,可以放到您的functions.php
来测试一下。在演示中,我创建了一个二级发布按钮,您可以使用它来体验问题,这只是为了演示,在the real case 提交是通过ajax调用的
add_action(\'add_meta_boxes\', \'add_metaboxes_pages\', 10, 2);
function add_metaboxes_pages($post_type, $post)
{
add_meta_box(\'pagesubmitdiv\', \'WPSE_DEMO_META_BOX\', \'page_submit_meta_box\', \'page\', \'advanced\', \'low\');
}
function page_submit_meta_box($post)
{?>
<a id="secondary-publish" class="button-primary">Secondary Publish</a><?php
}
add_action( \'admin_head-post.php\', \'wpse_publish_admin_hook\' );
add_action( \'admin_head-post-new.php\', \'wpse_publish_admin_hook\' );
function wpse_publish_admin_hook()
{
global $current_screen;
if( \'page\' != $current_screen->post_type )
return;
?>
<script language="javascript" type="text/javascript">
jQuery(document).ready(function() {
jQuery(\'#secondary-publish\').click(function()
{
jQuery(\'#post\').submit();
});
});
</script>
<?php
}
最合适的回答,由SO网友:TheDeadMedic 整理而成
触发click
事件的发布按钮,并让WP做的工作。
<script>
jQuery(document).ready(function( $ ) {
$( "#secondary-publish" ).click(function () {
$( "#publish" ).click()
});
});
</script>
不使用
language
(HTML 4.01中不推荐使用它!)-你可以放弃
type
也是(WP现在有一个HTML5 doctype)。