在WordPress 后台文章列表中,可以单独将某篇文章移动到回收站中,但移动后页面会刷新一次,可通过下面的代码实现无刷新将文章移动到回收站中。
section
第一步,在当前主题目录新建一个movepost.js文件,将下面JS代码复制进去。
jQuery(function($){ $('body.post-type-post .row-actions .trash a').click(function( event ){ event.preventDefault(); var url = new URL( $(this).attr('href') ), nonce = url.searchParams.get('_wpnonce'), // MUST for security checks row = $(this).closest('tr'), postID = url.searchParams.get('post'), postTitle = row.find('.row-title').text(); row.css('background-color','#ffafaf').fadeOut(300, function(){ row.removeAttr('style').html('<td colspan="5">文章 <strong>' + postTitle + '</strong> 已移至回收站</td>').show(); }); $.ajax({ method:'POST', url: ajaxurl, data: { 'action' : 'moveposttotrash', 'post_id' : postID, '_wpnonce' : nonce } }); }); });
如果是在自定义文章类型中使用,修改其中的post-type-post为post-type-文章类型名称。
因代码中有中文,保存文件时需要将编码改为:UTF-8 无BOM(无签名)。
section
第二步,将下面代码添加到当前主题函数模板functions.php中:
add_action( 'admin_head', 'moveposttotrash_script' ); function moveposttotrash_script() { wp_enqueue_script( 'movepost', get_stylesheet_directory_uri() . '/movepost.js', array( 'jquery' ) ); } add_action('wp_ajax_moveposttotrash', function() { check_ajax_referer( 'trash-post_' . $_POST['post_id'] ); wp_trash_post( $_POST['post_id'] ); die(); });
之后,在WordPress 后台文章列表中,点击“移动至回收站”,即可看到效果。
本站文章大部分为原创,用于个人学习记录,可能对您有所帮助,仅供参考!
我的微信
微信号已复制
版权声明
本站原创文章转载请注明文章出处及链接,谢谢合作!
山东省滨州市 1F
2021就要结束了,鸟哥明天元旦快乐哈
中国 B1
@ 遇见台儿庄 新年快乐
四川省 2F
这功能无敌!
四川省 3F
收藏了,此功能正合我意,多谢大佬分享
重庆市 B1
@ 欧乐安 收藏了,此功能正合我意,多谢大佬分享
四川省 4F
感谢分享,收藏了
河南省周口市 5F
看看头像咋回事
河南省周口市 B1
@ 雨天 是是是
四川省 6F
主题越来越好看了