آموزش مخفی کردن نوشته های رمزدار در وردپرس

آموزش مخفی کردن نوشته های رمزدار در وردپرس

محافظت کردن یک نوشته یا  رمزدار کردن آن، روشی برای خصوصی کردن محتوای یک مطلب در وردپرس است که تقریبا برای همه ی کاربرانی که از وردپرس استفاده می کنند واجب است که این عمل را انجام دهند. هرچند این روش برای خصوصی سازی محتوای مطلب، روش مناسبی است اما مشکل اینجاست که نوشته هایی که به این شکل محافظت میشوند در لیست نوشته های سایت شما برای تمامی کاربران و بازدیدکنندگان سایت به نمایش در می آیند و هر کس که رمز نوشته ی مورد نظر را در اختیار داشته باشد، با ورود به نوشته و وارد کردن رمز قادر به خواندن آن خواهد بود. پس اگر بخواهید یک مطلب کاملا خصوصی باشد و تنها افراد دلخواه شما از وجود آن با خبر بوده و قادر به خواندن آن باشند، این روش، روش کارامدی نیست. بنابراین روشی که در این آموزش به شما عزیزان می خواهیم یاد بدهیم، این خواهد بود که از نمایش نوشته های رمز دار در سایت و در واقع حلقه ی وردپرس (آرشیو ها، دسته بندی ها و … ) به طور کامل جلوگیری کنیم و در واقع نوشته های رمز دار را به طور کامل در سایت مخفی کنیم. در این حالت تنها اشخاصی که شما لینک نوشته را در اختیارشان قرار داده باشید، قادر به مشاهده نوشته ی مورد نظر خواهند بود. ( این افراد  نیاز به وارد کردن رمز خواهند داشت)

جهت جلوگیری از نمایش نوشته های رمزدار در سایت کافی است کد زیر را در فایل functions.php  قرار دهید :

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

 

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

کد بالا، نوشته های رمز دار را، بحز ادمین، از دید همه مخفی خواهد کرد. اکنون اگر وبسایت شما دارای چندین نویسنده باشد شاید مایل باشید نویسندگانی که مجاز به ویرایش نوشته های رمزدار هستند نیز قادر به مشاهده این نوع نوشته ها در سایت باشند. در صورتی که مایلید چنین اتفاقی بیافتد کافی است بجای کد بالا از کد زیر استفاده کنید :

function afzoono_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', 'afzoono_password_post_filter' );

 

حال نوشته های وردپرس شما کاملا خصوصی و رمزدار هستند…

 

نظرات و پیشنهادات خودتان را با ما درمیان بگذارید…

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

سرفصل های مقاله