我想限制一个用户在我的worpress网站上一周内发布的帖子数量。
我的代码只限制了一个用户可以上传的视频总数,但我想把它限制在一周内。下面是我的代码
<?php
function streamtube_child_check_limit_uploads( $errors ){
$max_allowed = 10;
$current_user_total_posts = count_user_posts( get_current_user_id(), 'video' );
// Check roles ... etc
// This limitation should not apply to administrator and editor, maybe.
if( ! current_user_can( 'administrator' ) ){
if( $current_user_total_posts > $max_allowed ){
$errors->add(
'not_allowed',
esc_html__( 'You have reached the maximum allowed number of uploads.', 'streamtube-child' )
);
}
}
return $errors;
}
add_filter( 'streamtube/core/upload/video/errors', 'streamtube_child_check_limit_uploads', 100, 1 );
add_filter( 'streamtube/core/upload_chunks/video/errors', 'streamtube_child_check_limit_uploads', 100, 1 );
add_filter( 'streamtube/core/post/import_embed/errors', 'streamtube_child_check_limit_uploads', 100, 1 );`
1条答案
按热度按时间at0kjp5o1#
标准的count_user_posts函数将不起作用,因为它只是为用户提供一个post total。
这个使用wp_query的答案在经过几周的调整后应该可以工作:https://wordpress.stackexchange.com/questions/70323/count-user-posts-by-type-and-date