我正在做一个预订网站,在那里船舱是一个定制的职位。用户通过Woocommerce订阅付费,使其小屋在网站上可见。
因此,我需要检查用户是否有活动订阅才能发布创建的帖子。
目前,我检查用户是否有如下活动订阅:
if (has_woocommerce_subscription(\'\',\'\',\'active\')) {
虽然这是可行的,但显然并没有改变岗位状态。
所以我的问题是,如何获取当前用户、用户的帖子id、状态等,并将帖子状态更改为已发布?
我在另一个帖子中发现了这一点,尽管它将帖子状态从“已发布”更改为“草稿”,所以我猜它可能类似?
add_action(\'publish_post\', \'check_user_publish\', 10, 2);
function check_user_publish ($post_id, $post) {
$user_id = get_current_user_id();
if ($user_id != $post->post_author)
return;
$query = array(
\'ID\' => $post_id,
\'post_status\' => \'draft\',
);
wp_update_post( $query, true );
}}
理想情况下,如果可能的话,该检查应该每天运行一次?
谢谢