WordPress教程

WordPress 如何实现删除文章并通知投稿作者不通过原因

阿里云

我们的主题里有通知功能,那么如何实现删除待审文章时附上不通过的理由并通知投稿作者呢?

下面附上一个简单的代码供参考:

也想出现在这里?联系我们
创客主机
  1. add_action( 'post_submitbox_misc_actions', 'modown_delete_notice_metabox' );
  2. function modown_delete_notice_metabox(){
  3. global $post;
  4. echo '<div class="misc-pub-section"><a href="javascript:;" class="submitdelete modown-delete-notice" data-id="'.$post->ID.'">移动至回收站并通知作者</a></div>
  5.  
  6. <script>
  7. jQuery(".modown-delete-notice").click(function(){
  8. var ret = prompt("删除理由", "");
  9. if(ret !== null && ret != "") {
  10. //console.log(ret);
  11. jQuery.ajax({
  12. url: ajaxurl,
  13. data: {
  14. pid: jQuery(this).data("id"),
  15. why: ret,
  16. action: "modown_delete_notice"
  17. },
  18. dataType: "json",
  19. type: "POST",
  20. success: function(t) {
  21. if(t.status == 1){
  22. location.href="/wp-admin/edit.php";
  23. }else{
  24. alert(t.msg);
  25. }
  26. },
  27. error: function(XMLHttpRequest, textStatus, errorThrown) {
  28.  
  29. }
  30. })
  31. }
  32. });
  33. </script>
  34. ';
  35. }
  36.  
  37.  
  38. function modown_delete_notice_callback(){
  39. global $wpdb,$current_user;
  40. date_default_timezone_set('Asia/Shanghai'); 
  41. $status = 0;$msg = '处理失败';
  42. if(current_user_can('administrator')){
  43. $post_id = $_POST['pid'];
  44. $cpost = get_post($post_id);
  45. _mbt_add_notice($cpost->post_author, sprintf(__('您好,您发表的文章《%s》审核不通过,原因:'.$_POST['why'].'。','mobantu'), $cpost->post_title), 'post_trash', $post_id);
  46. wp_trash_post($post_id);
  47. $status = 1;
  48. }
  49.  
  50. $result = array(
  51. 'status' => $status,
  52. 'msg' => $msg
  53. );
  54.  
  55. header('Content-type: application/json');
  56. echo json_encode($result);
  57. exit;
  58. }
  59. add_action( 'wp_ajax_modown_delete_notice', 'modown_delete_notice_callback');

WordPress 如何实现删除文章并通知投稿作者不通过原因

已有 168 人购买
查看演示升级 VIP立刻购买

收藏
(0)

发表回复

热销模板

Ashade - 作品展示摄影相册WordPress汉化主题
LensNews

本站承接 WordPress / PbootCMS / DedeCMS 等
系统建站、仿站、开发、定制等业务!