حذف پست های محافظت شده از آرشیو سایت

به طور پیش فرض، وردپرس محتوای پنهان را با پیشوند “حفاظت شده ” نمایش میدهد که در این آموزش به چگونگی حذف این پسوند  اشاره خواهد شد.

حذف پست های محافظت شده از آرشیو سایت
چرا پست های محافظت شده را از آرشیو سایت حذف کنیم؟

به طور پیش فرض، وردپرس محتوای پنهان را با پیشوند “حفاظت شده ” نمایش میدهد و کاربران برای مشاهده محتوای پست نیاز به وارد کردن رمز عبور دارند .

عنوان این پست در صفحه اصلی، آرشیو ها، پست های اخیر و غیره قابل مشاهده است و کاربرانی که رمز عبور را ندارند نیز میتوانند عنوان پست ها را ببینند و تلاش برای دیدن پست و وارد کردن رمز نمایند.
protected-posts-wordpress

پنهان کردن پست های محافظت شده در وردپرس

کد زیر را به فایل functions.php پوسته خود را و یا یک پلاگین مخصوص سایت اضافه کنید.

function wpb_password_post_filter( $where = '' ) {
 if (!is_single() && !is_admin()) {
 $where .= " AND post_password = ''";
 }
 return $where;
}
add_filter( 'posts_where', 'wpb_password_post_filter' );

این کد با استفاده از فیلتر posts_where به وردپرس می گوید که پست های محافظت شده ها را در صفحه اصلی، آرشیو، و … نمایش ندهد.

قبل و بعد از پنهان کردن پست در وردپرس

hiding-protected-posts

مثال بالا، پست های حفاظت شده را از تمام کاربران پنهان میکند. اگر شما چند نویسنده در سایت خود دارید و میخواهید پست های محافظت برای انها قابل مشاهده باشد کافیست کد را همانند کد زیر تغییر دهید.

function wpb_password_post_filter( $where = '' ) {
 if (!is_single() && !current_user_can('edit_private_posts') && !is_admin()) {
 $where .= " AND post_password = ''";
 }
 return $where;
}
add_filter( 'posts_where', 'wpb_password_post_filter' );

در این مثال، بررسی خواهد شد که اگر یک کاربر نمی تواند رمز پست های محافظت شده  را ویرایش کند، پس برای او فقط پست هایی را که رمز ندارند نمایش دهد.

منبع: wpbeginner

امتیاز شما برای این مقاله
ارسال یک پاسخ

آدرس ایمیل شما منتشر نخواهد شد.