Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/wordpress/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Wordpress Cron作业计划每分钟运行一次,而不是每天运行一次_Wordpress - Fatal编程技术网

Wordpress Cron作业计划每分钟运行一次,而不是每天运行一次

Wordpress Cron作业计划每分钟运行一次,而不是每天运行一次,wordpress,Wordpress,我创建了一些运行cron作业的代码,以查看是否满足我分配给我的帖子(自定义字段)的到期日期。如果是,它会将状态更改为“草稿” 我的日程安排出了问题,因为cron作业每分钟都在排队,我想我分配给它每天运行一次 非常感谢您的帮助 function cronstarter_activation() { if( !wp_next_scheduled("katie-posts-cron-job")) { wp_schedule_ev

我创建了一些运行cron作业的代码,以查看是否满足我分配给我的帖子(自定义字段)的到期日期。如果是,它会将状态更改为“草稿”

我的日程安排出了问题,因为cron作业每分钟都在排队,我想我分配给它每天运行一次

非常感谢您的帮助

   function cronstarter_activation() 
    {
       if( !wp_next_scheduled("katie-posts-cron-job")) 
       {  
            wp_schedule_event (time(), "daily", "katie-posts-cronjob");  
       }
    }
    add_action("wp", "cronstarter_activation");

    function cronstarter_deactivate() 
    {   
       $timestamp = wp_next_scheduled ("katie-posts-cronjob");
       wp_unschedule_event ($timestamp, "katie-posts-cronjob");
    } 
    register_deactivation_hook (__FILE__, "cronstarter_deactivate");

function cron_add_timer($schedules) 
{
    $schedules["everyday"] = array(
        'interval' => 86400,
        'display' => __("Once a Day")
    );
    return $schedules;
}
add_filter("cron_schedules", "cron_add_timer");


    function prfx_custom_meta() 
    {
        add_meta_box ("prfx_meta", __("katie Posts", "prfx-textdomain"), "prfx_meta_callback", "post", "normal", "high");
    }
    add_action ("add_meta_boxes", "prfx_custom_meta");

    function prfx_admin_styles()
    {
        global $typenow;

        if ($typenow == "post") 
       {
            wp_enqueue_style ("prfx_meta_box_styles", plugin_dir_url( __FILE__ ) . "/css/meta-box-styles.css");
        }
    }
    add_action ("admin_print_styles", "prfx_admin_styles");

    function prfx_meta_callback($post) 
    {
        wp_nonce_field (basename( __FILE__ ), "prfx_nonce");
        $prfx_stored_meta = get_post_meta( $post->ID );
        ?>

        <p>
        <label for="meta-text" class="prfx-row-title"><?php _e("Post Expiry Date: ", "prfx-textdomain")?></label>
        <input type="date" name="meta-text" id="meta-text" value="<?php if (isset ($prfx_stored_meta["meta-text"])) echo $prfx_stored_meta["meta-text"][0]; ?>" />
        </p>

        <?php
    }

    function prfx_meta_save($post_id) 
    {
        $is_autosave      = wp_is_post_autosave($post_id);
        $is_revision        = wp_is_post_revision($post_id);
        $is_valid_nonce = (isset( $_POST[ 'prfx_nonce' ] ) && wp_verify_nonce( $_POST[ 'prfx_nonce' ], basename( __FILE__ ) ) ) ? 'true' : 'false';

        if ($is_autosave || $is_revision || !$is_valid_nonce) 
        {
            return;
        }

        if (isset($_POST["meta-text"])) 
        {
            update_post_meta($post_id, "meta-text", sanitize_text_field($_POST["meta-text"]));
        }
    }
    add_action ("save_post", "prfx_meta_save");

    function katie_expired_posts()
    {
        $args           = array ("post_type" => "post", "post_status" => "publish");
        $post_query = new WP_Query($args);

       if ($post_query->have_posts()) 
       {
        while($post_query->have_posts() ) 
        {
            $post_query->the_post();
                         $sExpiry = get_post_meta (get_the_ID(), "meta-text", true);
            $sToday = date("Y-m-d");

            if ( ($sExpiry <= $sToday) && ($sExpiry != "" ) )
            {
               $my_post = array ("ID" => get_the_ID(), "post_status"  => "Draft",);
               wp_update_post ($my_post);          
            }
        }
       }
    }
    add_action ("katie-posts-cronjob", "katie_expired_posts"); 
函数cronstarter\u激活()
{
如果(!wp_next_scheduled(“katie发布cron作业”))
{  
wp_时间表_事件(时间(),“每日”,“凯蒂发布工作”);
}
}
添加行动(“wp”、“启动启动程序”);
函数cronstarter_deactivate()
{   
$timestamp=wp_next_scheduled(“katie发布cronjob”);
wp_计划外事件($timestamp,“katie发布cronjob”);
} 
寄存器\停用\挂钩(文件\停用,cronstarter \停用);
函数cron\u add\u计时器($schedules)
{
$schedules[“每日”]=数组(
“间隔”=>86400,
“显示”=>(一天一次)
);
返回$时间表;
}
添加过滤器(“cron_计划”、“cron_添加_计时器”);
函数prfx_custom_meta()
{
添加元框(“prfx元”、“katie Posts”、“prfx textdomain”)、“prfx元回调”、“post”、“normal”、“high”);
}
添加动作(“添加元数据框”、“prfx\u自定义元数据”);
函数prfx_admin_styles()
{
全球$typenow;
如果($typenow==“post”)
{
wp_enqueue_style(“prfx_meta_box_styles”,plugin_dir_url(uu FILE_u)。”/css/meta box styles.css);
}
}
添加动作(“管理打印样式”、“prfx管理样式”);
函数prfx_meta_回调($post)
{
wp_nonce_字段(basename(u_文件);“prfx_nonce”);
$prfx\u stored\u meta=get\u post\u meta($post->ID);
?>


您的计划命名不正确

见:

函数cronstarter\u激活()
{

如果(!wp_next_scheduled(“katie posts cron job”)//请发布实际的代码,而不是代码的图像。如果您使用hook
add_操作(“wp”、“cronstarter_激活”)在例如
functions.php
中运行此操作;
。它将自动运行?在WP中开发时请阅读WP文档。请参阅:。在第一行中,它说明您需要访问站点以触发
WP\u schedule\u event()
。如果不希望依赖站点访问,请在宿主环境中设置cronjob。
function cronstarter_activation() 
{
  if( !wp_next_scheduled("katie-posts-cron-job")) // <--- cron-job
  {  
    wp_schedule_event (time(), "daily", "katie-posts-cronjob"); // <--- cronjob 
  }
}