php 如何限制用户每周上传10个视频

bz4sfanl  于 2023-09-29  发布在  PHP
关注(0)|答案(1)|浏览(128)

我想限制一个用户在我的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 );`
at0kjp5o

at0kjp5o1#

标准的count_user_posts函数将不起作用,因为它只是为用户提供一个post total。
这个使用wp_query的答案在经过几周的调整后应该可以工作:https://wordpress.stackexchange.com/questions/70323/count-user-posts-by-type-and-date

相关问题