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

آموزش مخفی کردن یک نوشته از صفحه اصلی با افزونه

روش اول که بسیار ساده و راحت تر است ، استفاده از یک افزونه رایگان از مخزن افزونه های وردپرس به نام WordPress Hide Posts میباشد . این افزونه پس از دانلود و فعال سازی خود را در صفحه ویرایش/افزودن نوشته ، نشان میدهد . در نوار کناری نوشته شما گزینه ای به نام Hide Post اضافه خواهد شد که در این قسمت میتوانید مشخص کنید نوشته شما در چه صفحه ای غیر قابل نمایش باشد .

آموزش مخفی کردن یک نوشته از صفحه اصلی
آموزش مخفی کردن یک نوشته از صفحه اصلی

توجه کنید که عدم نمایش در صفحه اصلی یا صفحات دیگر به معنی عدم نمایش کلی نمیباشد . کاربران با استفاده از لینک نوشته میتوانند آن را مشاهده کنند .

آموزش مخفی کردن یک نوشته از صفحه اصلی بدون افزونه

روش دوم کمی نسبت به روش اول سخت تر است و کاربرانی که با وردپرس به صورت تازه کار آشنایی دارند شاید نتوانند آن را انجام دهند . در این روش شما باید با استفاده از کد و قرار دادن آن در فایل Functions.php در مسیر قالب فعال خود نوشته ها را از صفحه اصلی و یا سایر صفحات مخفی کنید . برای این کار ابتدا نیاز است شناسه نوشته را داشته باشید . بعضی افزونه ها هستند که آی دی نوشته را به شما میدهند اما به صورت معمولی شما از طریق لینک موجود در هنگام ویرایش نوشته میتوانید به آی دی نوشته دسترسی پیدا کنید . مثلا در تصویر زیر آی دی نوشته 5 است .

 آموزش مخفی کردن یک نوشته از صفحه اصلی بدون افزونه

پس از اینکه آی دی نوشته را به دست آوردید ، کافی است تا کد را به فایل Functions.php اضافه کنید . مشابه کدی که برای مخفی کردن نوشته در صفحه اصلی استفاده میشود به صورت زیر است :

function wpi_exclude_from_home($query) {
      if ($query->is_home() ) {
          $query->set('post__not_in', array(1737, 1718));
      }
}
add_action('pre_get_posts', 'wpi_exclude_from_home');

در کد بالا نوشته های با آی دی 1737 و 1718 در صفحه اصلی نمایش داده نخواهد شد . کد بالا با استفاده از تابع is_home کار خود را انجام میدهد .

مخفی کردن نوشته از فید RSS

برای مخفی کردن نوشته از فید آر اس اس مشابه کد قبلی عمل میکنیم ، با این تفاوت که در این کد به جای is_home از is_feed استفاده میشود .

function wpi_exclude_from_feed($query) {
      if ($query->is_feed() ) {
          $query->set('post__not_in', array(1737, 1718));
      }
}
add_action('pre_get_posts', 'wpi_exclude_from_feed');

حال اگر شما به عنوان مدیر به فید آر اس اس سایت خود مراجعه کنید خواهی دید که نوشته هایی که مخفی کرده اید درون فید آر اس اس هستند ، اما کاربران دیگر نمیتوانند این نوشته ها را مشاهده کنند .

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

برای این کار نیز با کد زیر عمل میکنیم :

function wpi_exclude_from_search($query) {
      if ( $query->is_search() ) {
          $query->set('post__not_in', array(1737, 1718));
      }
}
add_action('pre_get_posts', 'wpi_exclude_from_search');

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

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

function wpi_exclude_from_archives($query) {
      if ( $query->is_archive() ) {
          $query->set('post__not_in', array(1737, 1718));
      }
}
add_action('pre_get_posts', 'wpi_exclude_from_archives');

مخفی کردن نوشته از همه جا

برای مخفی کردن نوشته میتوانید از ترکیبی از این توابع استفاده کنید ، که نمونه به صورت کد زیر است :

function wpi_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', 'wpi_exclude_from_everywhere');

توجه : لطفا این نکته را فراموش نکنید که حتما باید آی دی نوشته خود را جایگزین آی دی موجود در کد کنید .

امیدوارم که از آموزش مخفی کردن یک نوشته از صفحه اصلی استفاده کافی برده باشید . خوشحال میشویم نظرات خود را با ما در میان بگذارید .