使用自定义域中的发布日期安排发布。生成的帖子设置为将来发布,而不是计划发布

时间:2018-07-05 作者:Paul Elrich

我一直在尝试使用ACF字段设置计划的发布日期。我正在尝试为不懂计算机的客户端创建和编辑帖子制作一个定制的后端编辑器。我认为,安排职位的默认方法对他们来说太复杂了。

虽然我可以使用此方法设置自定义发布日期,但生成的帖子被设置为已发布,而不是计划发布(它表示“在[未来日期]发布”)。

即使是陌生人,进入帖子列表,在这篇新帖子上点击“快速编辑”,然后在那里更新,而不进行任何编辑,也会将帖子更改为预定状态,就像我希望的那样。

下面是我用来设置发布日期字段的内容:

add_action(\'save_post\', \'change_content\');

global $post;
global $wpdb;
function change_content($post_id) {
    if (get_post_type() == "events"){
       $datefield = get_post_meta($post_id,\'post_date\',true);
       $post_date = date("Y-m-d H:i:s", strtotime($datefield));
       $my_post = array();
       $my_post[\'ID\'] = $post_id;
       $my_post[\'event_date\'] = $post_date;
    }

    remove_action(\'save_post\', \'change_content\');
    wp_update_post( $my_post );
    add_action(\'save_post\', \'change_content\');
}
是否有一种方法可以使用此策略只需单击“保存帖子”即可将帖子设置为预定,或者我需要找到另一种方法?

1 个回复
最合适的回答,由SO网友:WPZA 整理而成

这有帮助吗?

$status = \'scheduled\'; //you may need to change this
$my_post[\'post_status\'] = $status;
喜欢的东西this link.

结束

相关推荐

使用POST数据和Axios时,admin-ajax.php不起作用

我正在尝试创建一个带有AJAX请求的电子邮件注册表单。早些时候,我发现Wordpress会清空$_POST 默认情况下为变量。我试过使用admin_post 和admin_post_nopriv 但这两种方法似乎都不起作用。我现在正在尝试以下操作:add_action(\'wp_ajax_nopriv_newsletter\', \'subscribeToNewsletter\'); add_action(\'wp_ajax_newsletter\', \'subscribeToNewslette

使用自定义域中的发布日期安排发布。生成的帖子设置为将来发布,而不是计划发布 - 小码农CODE - 行之有效找到问题解决它

使用自定义域中的发布日期安排发布。生成的帖子设置为将来发布,而不是计划发布

时间:2018-07-05 作者:Paul Elrich

我一直在尝试使用ACF字段设置计划的发布日期。我正在尝试为不懂计算机的客户端创建和编辑帖子制作一个定制的后端编辑器。我认为,安排职位的默认方法对他们来说太复杂了。

虽然我可以使用此方法设置自定义发布日期,但生成的帖子被设置为已发布,而不是计划发布(它表示“在[未来日期]发布”)。

即使是陌生人,进入帖子列表,在这篇新帖子上点击“快速编辑”,然后在那里更新,而不进行任何编辑,也会将帖子更改为预定状态,就像我希望的那样。

下面是我用来设置发布日期字段的内容:

add_action(\'save_post\', \'change_content\');

global $post;
global $wpdb;
function change_content($post_id) {
    if (get_post_type() == "events"){
       $datefield = get_post_meta($post_id,\'post_date\',true);
       $post_date = date("Y-m-d H:i:s", strtotime($datefield));
       $my_post = array();
       $my_post[\'ID\'] = $post_id;
       $my_post[\'event_date\'] = $post_date;
    }

    remove_action(\'save_post\', \'change_content\');
    wp_update_post( $my_post );
    add_action(\'save_post\', \'change_content\');
}
是否有一种方法可以使用此策略只需单击“保存帖子”即可将帖子设置为预定,或者我需要找到另一种方法?

1 个回复
最合适的回答,由SO网友:WPZA 整理而成

这有帮助吗?

$status = \'scheduled\'; //you may need to change this
$my_post[\'post_status\'] = $status;
喜欢的东西this link.

相关推荐

无法在模板函数.php中使用IS_HOME

我试图在标题中加载一个滑块,但只在主页上加载。如果有帮助的话,我正在使用Ultralight模板。我正在尝试(在template functions.php中)执行以下操作:<?php if ( is_page( \'home\' ) ) : ?> dynamic_sidebar( \'Homepage Widget\' ); <?php endif; ?> 但这行不通。现在,通过快速的google,我似乎需要将请