آیا تاکنون خواسته اید پست وبلاگ خود را از صفحه اصلی وردپرس یا صفحه بایگانی وبلاگ خود مخفی کنید؟
در حالی که می توانید پیام های WordPress را با رمز محافظت یا خصوصی محافظت کنید ، در بعضی موارد ممکن است بخواهید پست را از صفحه اصلی خود مخفی کنید در حالی که هنوز هم به دیگران اجازه می دهید در صورت داشتن لینک مستقیم ، آن را مشاهده کنند.
در این مقاله نحوه پنهان کردن پست ها از صفحات انتخاب شده در وردپرس مانند صفحه اصلی ، بایگانی دسته ها ، نتایج جستجو و موارد دیگر به شما نشان خواهیم داد.
فهرست :
روش 1. یک پست وردپرس را با استفاده از افزونه از صفحه اصلی مخفی کنید
این روش آسانتر است و برای مبتدیان نیز توصیه می شود.
اولین کاری که باید انجام دهید نصب و فعال سازی افزونه WordPress Hide Posts است. برای اطلاعات بیشتر ، به راهنمای مرحله به مرحله ما درباره نحوه نصب افزونه وردپرس مراجعه کنید.
پس از فعال شدن افزونه ، پیش بروید و پستی را که می خواهید پنهان کنید ، ویرایش کنید. در ستون سمت راست ویرایشگر متوجه می شوید که بخش جدیدی از “پنهان کردن پست ها” وجود دارد.
با کلیک بر روی آن گزینه های افزونه آشکار می شود. می توانید این پست را در صفحه اول و صفحه وبلاگ ، دسته یا صفحات برچسب ، صفحه نویسندگان و نتایج جستجوی سایت مخفی کنید.
به سادگی گزینه هایی را که دوست دارید انتخاب کنید و سپس پست خود را ذخیره کنید.
بسته به گزینه هایی که انتخاب کرده اید ، اکنون می توانید به آن صفحات مراجعه کرده و آن پست خاص در لیست قرار نخواهد گرفت.
کلیه کاربرانی که آدرس مستقیم (ارسال پیوند مستقیم) دارند ، می توانند با وارد کردن URL آن را مشاهده کنند.
در حالی که این روش ساده ترین است ، فاقد چندین گزینه قدرتمند است.
به عنوان مثال ، شما نمی توانید یک صفحه یا یک نوع پست سفارشی مانند محصولات WooCommerce پنهان کنید. همچنین گزینه ای برای مخفی کردن پستی از فید RSS وردپرس وجود ندارد.
روش 2. پیام ها و صفحات WordPress را به صورت دستی مخفی کنید
این روش شما را ملزم به اضافه کردن کد به سایت وردپرس خود می کند. اگر قبلاً این کار را نکرده اید ، راهنمای ما در مورد چگونگی کپی و چسباندن قطعات کد در وردپرس را مشاهده کنید.
وردپرس از یک جستجوی پایگاه داده برای واکشی و نمایش پست ها بر اساس صفحه ای که کاربر در حال مشاهده است استفاده می کند. همچنین قلاب های داخلی برای اصلاح پرس و جو قبل از اجرای آن فراهم می کند.
ما از آن قلاب ها برای اصلاح پرس و جو وردپرس استفاده خواهیم کرد و پست ها ، صفحات و انواع پست های وردپرس را در بخش های مختلف پنهان می کنیم.
می توانید با استفاده از افزونه کد امنیتی که ایمن تر است ، سایت خود را اضافه کنید و باعث خراب شدن سایت شما نشود. از طرف دیگر ، می توانید کد دلخواه را به پرونده های function.php یا افزونه اختصاصی سایت خود اضافه کنید.
همچنین به شناسه پست یا صفحاتی که می خواهید مخفی شوید ، نیز نیاز خواهید داشت. ما یک آموزش سریع در مورد چگونگی یافتن شناسه پست در وردپرس داریم که نشان می دهد چگونه می توانید این اطلاعات را بدست آورید.
در اصل ، فقط می توانید یک پست یا صفحه را ویرایش کنید تا شناسه آن را در نوار آدرس مرورگر خود مشاهده کنید.
با این بیان ، بیایید وارد قسمت کد شوید.
پست ها یا صفحات وردپرس را از صفحه اصلی مخفی کنید
کد زیر از برچسب مشروط is_home () برای فهمیدن کاربر در حال مشاهده صفحه اصلی استفاده می کند. در صورت وجود ، شناسه پست از پرس و جو خارج می شود.
function wpb_exclude_from_home($query) { if ($query->is_home() ) { $query->set('post__not_in', array(1737, 1718)); } } add_action('pre_get_posts', 'wpb_exclude_from_home');
فراموش نکنید که شناسه های موجود در آرایه را با شناسه واقعی پست یا صفحاتی که می خواهید حذف کنید جایگزین کنید.
پست ها یا صفحات وردپرس را از فید RSS مخفی کنید
اگر می خواهید یک پیام وردپرس را از صفحه اصلی و همچنین فید RSS وردپرس مخفی کنید ، می توانید به سادگی از برچسب شرطی is_feed در کد استفاده کنید.
function wpb_exclude_from_feed($query) { if ($query->is_feed() ) { $query->set('post__not_in', array(1737, 1718)); } } add_action('pre_get_posts', 'wpb_exclude_from_feed');
حال اگر به عنوان سرپرست وارد شوید و سعی کردید از فید RSS وردپرس خود بازدید کنید ، همچنان پستهای ذکر شده در آن را مشاهده خواهید کرد. کاربران دیگر هنگام مشاهده فید RSS شما قادر به دیدن پست های محروم نخواهند بود.
پست یا صفحه وردپرس را از جستجوی سایت مخفی کنید
حال اگر بخواهید پست های خاصی را از جستجوی سایت وردپرس مخفی کنید ، چه می کنید؟ برای انجام این کار ، شما فقط باید برچسب مشروط is_search را به کد اضافه کنید.
function wpb_exclude_from_search($query) { if ( $query->is_search() ) { $query->set('post__not_in', array(1737, 1718)); } } add_action('pre_get_posts', 'wpb_exclude_from_search');
اکنون می توانید به وب سایت خود مراجعه کرده و پست هایی را که می خواستید مخفی کنید ، جستجو کنید. اگرچه این پست ها عمومی هستند ، اما در نتایج جستجو ظاهر نمی شوند.
وردپرس پست یا صفحه را از بایگانی مخفی کنید
در مورد پنهان کردن پست ها یا صفحات خاص وردپرس از صفحات بایگانی مانند دسته ، برچسب ها و بایگانی تاریخ چطور؟ برای این کار از برچسب شرطی is_archive () استفاده خواهیم کرد.
function wpb_exclude_from_archives($query) { if ( $query->is_archive() ) { $query->set('post__not_in', array(1737, 1718)); } } add_action('pre_get_posts', 'wpb_exclude_from_archives');
مخفی کردن پست وردپرس یا صفحه از همه جا
تاکنون یاد گرفتیم که چگونه یک پست یا صفحه وردپرس را از مناطق خاص مخفی کنید. حال ، درمورد مخفی کردن یک پست وردپرس از همه این مناطق به طور همزمان چیست؟
برای انجام این کار ، شما می توانید تمام برچسب های شرطی را که قبلاً از آنها استفاده کرده ایم در یک قطعه کد واحد استفاده کنید.
function wpb_exclude_from_everywhere($query) { if ( $query->is_home() || $query->is_feed() || $query->is_search() || $query->is_archive() ) { $query->set('post__not_in', array(1737, 1718)); } } add_action('pre_get_posts', 'wpb_exclude_from_everywhere');
این کد پست های داده شده را از صفحه اصلی ، فید RSS ، نتایج جستجو و صفحات بایگانی مخفی می کند.