Bạn muốn làm chủ Website?

Một số đoạn code hay cho Blog nhiều thành viên

Tổng hợp một số đoạn code hay dành cho Blog có nhiều thành viên thành viên đăng ký tham gia hoạt động.

Chào các bạn, cũng lâu lâu rồi mình mới đăng bài mới nhỉ. Bài viết này, mình sẽ giới thiệu tới các bạn một số đoạn code hay mà mình hay dùng trong các trang web có nhiều thành viên đăng ký và viết bài.

code hay cho wordpress user

Mọi đoạn code dưới đây bạn chỉ cần copypaste và file functions.php là được nhé.

1. Tự động đăng nhập sau khi đăng ký

function toicode_auto_login( $user_id ) {
 wp_set_current_user( $user_id );
 wp_set_auth_cookie( $user_id, false, is_ssl() );
}
add_action( 'user_register', 'ticode_auto_login' );

2. Code chỉ hiển thị những file mình đã tải lên

function toicode_wpquery_where( $where ){
 global $current_user;
 if( is_user_logged_in() ){
 if( isset( $_POST['action'] ) && ( $_POST['action'] == 'query-attachments' ) ){
 $where .= ' AND post_author='.$current_user->data->ID;
 }
 }
 return $where;
}
add_filter( 'posts_where', 'toicode_wpquery_where' );

3. Chỉ hiển thị bài viết của mình

function toicode_theme_custom_update_post_author_counts( $counts, $type ) {
    global $wpdb; 
    $query = "SELECT post_status, COUNT( * ) AS num_posts FROM {$wpdb->posts} WHERE post_type = %s";
    $query .= $wpdb->prepare( " AND post_author = %d", get_current_user_id() );
    $query .= ' GROUP BY post_status'; 
    $results = (array) $wpdb->get_results( $wpdb->prepare( $query, $type ), ARRAY_A );
    $counts  = array_fill_keys( get_post_stati(), 0 ); 
    foreach ( $results as $row ) {
        $counts[ $row['post_status'] ] = $row['num_posts'];
    } 
    return (object) $counts;
} 

function toicode_theme_custom_show_my_posts_only( $wp_query ) {
    $allowed_types = array( 'post' );
    $current_type  = get_query_var( 'post_type' ) ? get_query_var( 'post_type' ) : '';
    if ( is_admin() && ! current_user_can( 'edit_others_posts' ) && in_array( $current_type, $allowed_types ) ) {
        $wp_query->set( 'author', get_current_user_id() );
        add_filter( 'wp_count_posts', 'toicode_theme_custom_update_post_author_counts', 10, 2 );
    }
} 

if ( is_admin() ) {
    add_action( 'pre_get_posts', 'toicode_theme_custom_show_my_posts_only' );
}

4. Chỉ cho phép Admin và Author truy cập wp-admin

function toicode_user_redirect($user){
    global $pagenow;
    $role = $user->roles[0];
    if($pagenow == 'wp-admin' ){
        if( $role != 'administrator' || $role != 'author'){
            wp_redirect(home_url());
            exit;
        }
    }
}
add_action('admin_init', 'toicode_user_redirect');

5. Tiếp tục cập nhật

Nếu bạn có bất kỳ yêu cầu nào thì hãy để lại mình sẽ giải đáp nhanh nhất có thể nhé!

Nếu bạn thấy bài viết hữu ích thì hãy chia sẻ nó hoặc theo dõi chúng tôi qua Email để không bỏ lỡ bất kỳ một thủ thuật hay nào nhé! Đừng quên để lại đánh giá của bạn, nó là nguồn động lực vô bờ bến với chúng tôi đấy!

Add Comment

  • Không sử dụng từ khóa trong tên.
  • Không sử dụng từ ngữ phảm cảm.
  • Không dẫn link tới các trang có nội dung không lành mạnh.
  • Không bình luận về chính trị.
  • Mọi bình luận sẽ bị xóa nếu vi phạm mà không báo trước.
  • 7 Comments

    1. 2

      Chăm viết lên nào, ngày ra một bài đi nào, nhanh nhanh còn lên chuyên nghiệp, chúng ta sống ở bán chuyên lâu quá rồi :)))

      16/08/2017 Reply
      • Admin
        Shin:

        Giang sơn dễ đổi, bệnh nhác khó chừa 🙂

        17/08/2017 Reply
    2. 3

      Chôm về gấp thôi

      16/08/2017 Reply
    3. CTV
      94

      cái thứ 4 để ở đâu bác
      :))

      21/08/2017 Reply

    Nhận bài viết mới