前端POST删除错误确认和成功消息

时间:2015-10-06 作者:Coalition Partners

我允许作者删除他们在前端的帖子,因为他们无法访问管理员。我可以做到这一点,但困扰我的是标准的javascript onclick警报消息——有没有办法设置js警报的样式?根据我的理解,不是。还是使用jQuery来处理消息,并使用我可以设置样式的模式窗口?

此外,删除后,用户将返回到相同的页面,这是很好的,但没有确认消息-我希望有一条消息说“Post successfully deleted”。我只是认为这些触摸会提供更好的用户体验。以下是我使用的代码:

function wp_delete_post_link($link = \'Delete This\', $before = \'\', $after = \'\') {
global $post;
if ( $post->post_type == \'post\' ) {
if ( !current_user_can( \'edit_page\', $post->ID ) )
  return;
} else {
if ( !current_user_can( \'edit_post\', $post->ID ) )
  return;
}
$message = "Are you sure you want to delete ".get_the_title($post->ID)." ?";
$delLink = wp_nonce_url( get_bloginfo(\'url\') . "/wp-admin/post.php?action=delete&post=" . $post->ID, \'delete-post_\' . $post->ID);
$htmllink = "<a href=\'" . $delLink . "\' onclick = \\"if ( confirm(\'".$message."\' ) ) { execute(); return true; } return false;\\"/>".$link."</a>";
echo $before . $htmllink . $after;
$redirect = add_query_arg( \'success\', \'true\', $redirect );
}

<?php wp_delete_post_link(\'Delete your Entry\', \'<p><em>Delete your Entry: </em>\', \'</p>\'); ?>
并添加到作者中。php中的post delete按钮

 <?php if ( ! empty( $_GET[\'success\'] ) ) {
                            echo \'Wahey!\';
                            }
                        ?>  

1 个回复
SO网友:TheDeadMedic

这里有两个问题。对于警报/模态的样式,这是一个通用的HTML/CSS问题-check out these 让你开始。

第二,这取决于删除后你在做什么-你是重定向回前端,还是留在管理员?(我会根据您的回答更新我的答案)。

你不应该重新发明轮子-使用核心功能get_delete_post_link 获取删除URL。这将处理nonce和将来对core的任何更改(如果发生)。

Update: 对于重定向,请添加一个参数,然后可以在页面加载时检查该参数:

$redirect = add_query_arg( \'success\', \'true\', $redirect );
然后在模板文件中:

if ( ! empty( $_GET[\'success\'] ) ) {
    echo \'Wahey!\';
}