对于有PHP经验的人来说,这应该是小菜一碟。 我的代码和问题出了问题。在盯着/调整它2天后,我无法看到错误。
检查下面的更新!
问题:未更改帖子状态
我认为问题在于状态更改代码或日期格式在比较中不兼容但我对PHP不太好 然而&不确定。
这一切都包含在函数中,用WP cron调用 - cron工作,用插件检查。
没有错误!
所有代码:
result.xlsx
更新
现在一切都很好,代码也会更新!
当你感到非常疲倦时,不要编程。
答案 0 :(得分:1)
我从来没有使用/使用过Wordpress,所以不能用任何方面的指导 - 但你所描述的似乎是数据库能够并且应该能够使用事件轻松处理的东西。 可以将事件视为Windows中的“计划任务”。
数据库中的'事件'的基本示例(mySql等)。 您可能需要look at this
create event `evUpdateDraftStatus`
on schedule
every '1' day_hour starts '2015-08-22'
on completion preserve
enable
comment 'every 1 hour(s) call a stored procedure that processes Drafts.'
do call spUpdateDrafts()
要在db中启用事件,请运行此cmd:SET GLOBAL event_scheduler = ON;
See the reference for more info
事件调用的存储过程的基本示例。
create procedure `spUpdateDrafts`( IN `param_days` INT )
language sql
not deterministic
contains sql
sql security definer
comment 'Update drafts'
begin
/* Perform sql operations, for example: */
declare days integer default 0;
set @days=cast(param_days as unsigned);
update `table` set `draftstatus`=0
where `draftstatus`=1 and timestampdiff( day, `draft_created_date`, now() ) > @days;
end
答案 1 :(得分:1)
检查了一些文档(...),这行看起来很可疑(循环指针改变,不返回任何内容):
$this_post = $unpublished_posts->the_post();
我想你想要get_post()
或者......我只想打电话:
wp_update_post(array('ID' => get_the_ID(), 'post_status' => 'pending'));
此函数将使用get_post(ID)
收集当前数据并进行合并。