我允许作者删除他们在前端的帖子,因为他们无法访问管理员。我可以做到这一点,但困扰我的是标准的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!\';
}
?>
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!\';
}