WordPress定时修改文章状态

重要:本文最后更新于2022-11-03 09:40:12,某些文章具有时效性,若有错误或已失效,请在下方留言或联系九月网

某位苦于被软文白嫖的站长的诉求,说是有广告主找他发软文,每次只发一个月,到期又不续费,搞得他每次都忘记下掉文章,为此希望能实现WordPress定时修改文章状态,自动将文章移动到回收站或者将文章性质由公开改为私密。

为了方便管理以及使用最少的代码量,本教程放弃使用WordPress的定时任务,改用Linux系统的定时任务,如果不会使用,可以使用可视化面板,如宝塔面板等实现定时任务。

首先在你的网站找个地方新建一个php文件,比如我在网站根目录建立了一个changepost.php,然后复制如下代码

 $postid,
                'post_status' => 'private'
            );

           if( wp_update_post( $post_data )){
                print_r("成功变更为隐私文章");
           }else{
                print_r("隐私文章改变失败!");
           }
            
            exit();
        }
    }
    if( wp_trash_post( $postid)){
        print_r("成功移至回收站");
    }else{
        print_r("移至回收站失败!");
    }
     exit();
    
}else{
    print_r("必须输入postid");
}   
   
?>

注意:其中wp-load.php文件在根目录,如果保存的文件不在根目录,请在路径前加上../,代表本文件的上一级目录中的wp-load.php文件,以此类推,有多少层级就加多少个../,比如在themes文件夹中,那么你的代码应该是

require( dirname(__FILE__).'/../../wp-load.php' );

其中action表示是将文章改为私密还是移动到回收站,postid是对哪篇文章。

然后在宝塔面板中新增定时任务,如下图

WordPress定时修改文章状态

url写你的文件地址,注意后面的参数。

WordPress定时修改文章状态

添加完成后可以手动执行下,看看效果。

这样的话就需要将此文件藏好,不然被别人访问一下就没了,哈哈哈。当然也可以加入参数进行验证,代码如下

 $postid,
                'post_status' => 'private'
            );

           if( wp_update_post( $post_data )){
                print_r("成功变更为隐私文章");
           }else{
                print_r("隐私文章改变失败!");
           }
            
            exit();
        }
    }
    if( wp_trash_post( $postid)){
        print_r("成功移至回收站");
    }else{
        print_r("移至回收站失败!");
    }
     exit();
    
}else{
    print_r("必须输入postid");
}   
   
?>

这样你的请求链接就需要增加一个验证参数mkey,如下

域名/你的文件路径/文件名.php?mkey=你的密码&action=private&postid=100

给TA打赏
共{{data.count}}人
人已打赏
WordPress

在 WordPress 后台中创建 Datepicker 字段

2022-11-2 0:00:00

WordPress

WordPress主题自定义更新服务器

2022-11-10 0:00:00

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索