Hướng dẫn ẩn nội dung bài viết trong genesis framework

Hiện nay việc xây dựng trang web membership đang trở lên phổ biến hơn bao giờ hết, rất nhiều những trang web cho phép chúng ta đăng ký thành viên rồi học trực tiếp trên đó, hay gọi cách khác là họ bắt chúng ta phải đăng ký ních rồi mới cho phép đọc nội dụng… Hình thức này khá tốt để chúng ta có thể biến khách truy cập thành thành viên của mình. Và chắc chắn là trang web của bạn thật nhiều nội dung giá trị mới nên sử dụng phương pháp này.

Bài viết này tôi sẽ hướng dẫn các bạn cách làm như thế nào để ẩn nội dung bài đăng đối với khách truy cập mà không sử dụng bất kỳ plugin nào.

Hướng dẫn này cung cấp mã PHP bạn có thể dán vào cuối tập tin functions.php chủ đề con của bạn để ẩn nội dung của các bài viết, và chỉ có thể đọc được hoàn toàn với người dùng đã đăng nhập.

Những nội dung mã bên dưới sẽ giới hạn 20 từ đối với khách truy cập và thêm liên kết đăng nhập và chuyển hướng đến bài viết đối với người muốn xem nội dung.

Hướng dẫn ẩn nội dung bài đăng với khách truy cập trong genesis

Copy và dán toàn bộ vào cuối file functions.php

# ẩn nội dung contents genesis
add_filter( 'the_content', 'filter_content', 10, 1 ); 
function filter_content( $content ) { 
 $limit = wp_trim_words( get_the_content(), 20, '.....' );
 $login_form = sprintf( '<p><h4 class="restricted-post"><a href="%s">Đăng nhập</a> để xem toàn bộ nội dung bài viết</h4></p>', wp_login_url( get_permalink() ) );
 $limit = $limit . $login_form;
 $output = ! is_user_logged_in() && in_category( 'lifestyle' ) && is_singular( 'post' ) ? $limit : $content;
 return $output;
}
Chúng ta sẽ thêm mẫu đăng nhập vào nội dung hạn chế bài viết. Bạn cũng có thể thêm một biểu mẫu đăng nhập cho những người dùng hiện tại cùng với liên kết tới trang đăng ký cho những người dùng mới như sau:

Và đây là toàn bộ mã

# ẩn nội dung bài viết trong genesis
add_filter( 'the_content', 'filter_content', 10, 1 ); 
function filter_content( $content ) { 
 $limit = wp_trim_words( get_the_content(), 20, '.....' );
 $login_form = sprintf( '<p><h4 class="register-link"><a href="%s">Đăng ký</a> hoặc đăng nhập để xem toàn bộ nội dung bài viết này.</h4></p>', esc_url( wp_registration_url() ) );
 $login_form .= sprintf( '<p class="login-form">%s</p>', wp_login_form( array( 'echo' => false ) ) );
 $limit = $limit . $login_form;
 $output = ! is_user_logged_in() && in_category( 'lifestyle' ) && is_singular( 'post' ) ? $limit : $content;
 $output = ! is_user_logged_in() && is_single(array( '1122', '2', '3' ) ) ? $limit : $content;
 return $output;
}

Ẩn bài viết đối với khách truy cập

Và giờ đây bạn có thể ẩn nội dung bài viết đối với khách truy cập riêng lẻ trên từng bài viết của genesis bằng đoạn mã code bên dưới:
$output = ! is_user_logged_in() && is_single(array( '1', '2', '3' ) ) ? $limit : $content;
Đoạn mã trên hạn chế quyền truy cập vào các bài đăng có ID là 1, 2 và 3. Bạn có thể thay thế tương ứng với blog của mình.

Sử dụng is_user_logged_in ()

Bài viết được thực hiện trên Magazine Pro và nó hoạt động trên bất kỳ theme nào của studopress.com