WordPress教程

WordPress后台使用ajax高效快速删除文章

阿里云

为什么要这样做?因为好玩,因为快速,无折腾不博客!直接上代码,将下面的代码添加到当前启用的 WordPress 主题的 functions.php 里面。

  1. // 后台 文章列表  ajax删除文章
  2. add_action( 'admin_footer', 'dahuzi_custom_internal_javascript' );
  3. function dahuzi_custom_internal_javascript(){
  4.  
  5. 	echo "<script>
  6. 		jQuery(function($){
  7. 			$('body.post-type-post .row-actions .trash a').click(function( event ){
  8.  
  9. 				event.preventDefault();
  10.  
  11. 				var url = new URL( $(this).attr('href') ),
  12. 				    nonce = url.searchParams.get('_wpnonce'), // MUST for security checks
  13. 				    row = $(this).closest('tr'),
  14. 				    postID = url.searchParams.get('post'),
  15. 				    postTitle = row.find('.row-title').text();
  16.  
  17.  
  18. 				row.css('background-color','#ffafaf').fadeOut(300, function(){
  19. 					row.removeAttr('style').html('<td colspan=\'5\' style=\'background:#fff;border-left:1px solid #FF5722;border-left-width:4px;color:#555\'><strong>' + postTitle + '</strong> 已被移动到回收站</td>').show();
  20. 				});
  21.  
  22. 				$.ajax({
  23. 					method:'POST',
  24. 					url: ajaxurl,
  25. 					data: {
  26. 						'action' : 'moveposttotrash',
  27. 						'post_id' : postID,
  28. 						'_wpnonce' : nonce
  29. 					}
  30. 				});
  31.  
  32. 			});
  33. 		});
  34. 	</script>";
  35.  
  36. }
  37.  
  38. add_action('wp_ajax_moveposttotrash', function(){
  39. 	check_ajax_referer( 'trash-post_' . $_POST['post_id'] );
  40. 	wp_trash_post( $_POST['post_id'] );
  41. 	die();
  42. });
也想出现在这里?联系我们
创客主机

如果你想将这个功能用于自定义文章分类,将代码中的 .post-type-post,替换成 .post-type-{post-type-name}

这里我使用的 URL API 在较旧的浏览器中不起作用,对我来说无所谓,因为我使用的是 Chrome 浏览器,所以可以。你可以在此处检查浏览器的兼容性。

代码不会刷新文章计数(全部,已发布,回收站...)

WordPress 后台使用 ajax 高效快速删除文章

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

收藏
(0)

发表回复

热销模板

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

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