GET_EDIT_POST_link()在wp-cron上不起作用

时间:2020-02-16 作者:kru-x

我有一个“真正的”cron作业,它执行wp cron。php时不时。我通过$link=get\\u edit\\u post\\u link(ID)将链接收集到变量中;

如果我登录并使用wp cron手动执行cron,它就会完美地工作。php,但当它按计划执行时,它不会收集链接并将其保留为空。代码的分条版本:

foreach($published_posts as $post_to_private){
    $user_data = get_userdata( $post_to_private->post_author);        
    $email = $user_data->user_email;
    $link = get_edit_post_link( $post_to_private->ID);

    $email = WP_Mail::init()
      ->to($email)
        "X-Mailer: PHP/". phpversion(),
        "Content-type: text/html; charset=utf-8",
    ])

      ->subject(\'test\')
      ->template(plugin_dir_path( __DIR__ ) .\'email-templates/expired-transit-email.php\', [

        \'link\'          => $link,

    ]);


        //for testing of email

        return $email->send();
有什么想法吗?

1 个回复
SO网友:kru-x

解决人:

//Check and set/unset user to able the script to run as admin
wp_set_current_user(1);
$link = get_edit_post_link($post_to_private->ID);
wp_set_current_user(0);
谢谢Sally CJ,

相关推荐

如何对开机自检输出进程进行phpunit测试?

我想知道如何测试帖子的html输出。像WP一样,在现实中会在前端输出它。此时,我的具体情况是测试oembed缓存,因为我想测试重新缓存。AFAIK WP只缓存与post关联的oembed结果。所以我不能只运行一些文本the_content 滤器我喜欢为此测试真正的后处理,通常也会测试可能出现的其他情况。到目前为止,在我的搜索中,我只找到了如何在单元测试中创建帖子的教程,而没有找到如何在上面实际运行测试的教程。