重要:本文最后更新于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是对哪篇文章。
然后在宝塔面板中新增定时任务,如下图

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

添加完成后可以手动执行下,看看效果。
这样的话就需要将此文件藏好,不然被别人访问一下就没了,哈哈哈。当然也可以加入参数进行验证,代码如下
$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