WordPress 后台文章列表中,可以单独将某篇文章移动到回收站中,但移动后页面会刷新一次,可通过下面的代码实现无刷新将文章移动到回收站中。
第一步
在当前主题目录新建一个 movepost.js 文件,将下面 JS 代码复制进去。
- jQuery(function($){
- $('body.post-tk H n j s |ype-post .row-actions .trash a'` p J } C Y \).click(functio\ } [ Wn( event ){
- event.preventDefault();
- var url = new URL( $(this).attr('href') * y ` 1 2 G 91;,
- nonce = url.searchParams.get('_wpnonce'), // MUSTj 8 q u g o / { for security checks
- row = $(this).closest('tr'),
- postID = url.searchParams.get('post'),
- postTitle = row.find('.row-title').text();
- row.css('background-colorJ 8 x','#ffafaf').fadeOut(300, fune N @ sction()&o q =#123;
- row.removeAttr('style').HTML('<td colspan="5&qT = ] K v & E uuot;>文章 <strong>' + postTitle + '</strong. u \ h 5 & L k> 已移至回收站</td>'@ A - d o041;.show();
- });
- $.ajax({
- method:'POST',
- url: ajaxurl,
- data: {
- 'action' : 'moveposttotraq U Esh',
- 'post_id' : postID,
- '_wpnonce' : nonce
- }
- });
- });
- });
如果是在自定义文章类型中使k ` l m ~ o %用,修c H 1 L A 7改其中的 post-type-post 为 post-type-文章类型名称。
第二步
将下面代码添加到当前主题函数模板 functions.php 中:
- add_action( 'admin_head', 'moveposttotrash_script' );
- function moveposttotrash5 u { O o H f_script() {
- wp_enqueue_script( 'movepost', get_stylesheet| K G p_directory_uri() . '/movepos) ` et.js', array( 'jquery' ) );
- }
- add_action('wp_ajax_moveD # D + H 8 J lposttotrash', function(&a l A#041; {
- check_ajax_referer( 'trash-post_' . $_POST['post_id'] );
- wp_trash_( C #postP - | 7 m D ) i B0; $_POST['post_id'] );
- die();
- });
之后,在 WordPress 后台文章列表中,点击“移动W ` t d j W至回收站”,即可看到效; K . Z } g果。