پنهان سازی از جستجوی وردپرس بدون استفاده از افزونه
قبلا در مورد مخفی کردن برگه ها از جستجو در سایت وردپرس صحبت کرده بودم، اما ممکن است بخواهید بخش های مختلف دیگری را نیز با پنهان سازی از جستجوی وردپرس از دید کاربران خود مخفی کنید.
علاوه بر برگه ها در وردپرس، بخش های دیگری مانند دسته بندی ها، برچسب ها، پست ها و صفحه نویسنده در وردپرس وجود دارند که هر کسی که یک وب سایت وردپرسی دارد ممکن است بخواهد آن ها را از دید کاربران مخفی کند.
در این آموزش از بیست اسکریپت نحوه پنهان سازی از جستجوی وردپرس را برای تمامی موارد دلخواه شما بدون استفاده از افزونه و تنها با کدنویسی وردپرس آموزش می دهم.
پنهان سازی دسته بندی ها از جستجوی وردپرس
برای انجام این امر نیاز دارید تا تغییراتی را در فایل فانکشن قالب نصبی خود اعمال کنید. پس قبل از انجام هر تغییری حتما از وب سایت خود یک فایل پشتیبان تهیه کنید. اکنون به هاست خود رفته و در مسیر نصب وردپرس به آدرس wp-content/themes بروید و پوشه قالب نصبی خود را باز کنید.
در این پوشه برای پنهان سازی از جستجوی وردپرس، فایل function.php قالب نصبی خود را ویرایش کرده و قطعه کد زیر را در جای مناسبی از آن قرار دهید.
function wpn_search_filter( $query ) { if ( $query->is_search && !is_admin() ) $query->set( 'cat','-7' ); return $query; } add_filter( 'pre_get_posts', 'wpn_search_filter' );
عدد ۷ در قطعه کد بالا بیانگر شناسه یا آی دی دسته بندی است که می خواهید با پنهان سازی آن از جستجوی وردپرس، آن را از دید کاربران مخفی کنید.
اما اگر بخواهد به جای یک دسته بندی، چند دسته بندی را از جستجوی وردپرس پنهان سازید، باید از قطعه کد زیر استفاده نمایید.
function wpn_search_filter( $query ) { if ( $query->is_search && !is_admin() ) $query->set( 'cat','-7, -10, -21' ); return $query; } add_filter( 'pre_get_posts', 'wpn_search_filter' );
در قطعه کد بالا نیز برای پنهان سازی از جستجوی وردپرس، از شناسه دسته بندی ها در خط سوم استفاده شده است.
پنهان سازی برچسب ها از جستجوی وردپرس
برای این منظور نیز باید از قطعه کد زیر در فایل فانکشن قالب نصبی خود استفاده نمایید.
function wpn_search_filter( $query ) { if ( $query->is_search && !is_admin() ) $query->set( 'tag','-19' ); return $query; } add_filter( 'pre_get_posts', 'wpn_search_filter' );
در قطعه کد بالا نیز عدد ۱۹ بیانگر شناسه برچسب مورد نظر است. برای پنهان سازی چند برچسب از جستجو وردپرس نیز باید از قطعه کد زیر استفاده نمایید.
function wpn_search_filter( $query ) { if ( $query->is_search && !is_admin() ) $query->set( 'tag','-19, -27, -56' ); return $query; } add_filter( 'pre_get_posts', 'wpn_search_filter' );
در این قطعه کد نیز همانطور که مشاهده می کنید، برای پنهان سازی از جستجوی وردپرس از شناسه برچسب ها استفاده شده است.
پنهان سازی مقالات یک نویسنده از جستجوی وردپرس
گاهی ممکن است بخواهید پست های نوشته شده توسط یک نویسنده از جستجوی وردپرس مخفی شوند، برای این منظور دو روش را می توانید اعمال کنید.
چنانچه پست های نویسنده شما تعداد کمی دارند، به راحتی و با کمک افزونه Search Exclude اقدام به پنهان سازی از جستجوی وردپرس کنید. اما اگر تعداد مقالات نویسنده مورد نظر زیاد هستند، با اضافه کردن قطعه کد زیر به فایل فانکشن قالب نصبی شما این امکان فراهم خواهد شد.
function wpn_search_filter( $query ) { if ( $query->is_search && !is_admin() ) $query->set( 'author','-24' ); return $query; } add_filter( 'pre_get_posts', 'wpn_search_filter' );
در این کد نیز عدد ۲۴ بیانگر شناسه نویسنده است. برای پنهان سازی مقالات چند نویسنده از جستجوی وردپرس نیز از قطعه کد زیر استفاده نمایید.
function wpn_search_filter( $query ) { if ( $query->is_search && !is_admin() ) $query->set( 'author','-24, -12, -19' ); return $query; } add_filter( 'pre_get_posts', 'wpn_search_filter' );
پنهان سازی برگه ها از جستجوی وردپرس
در نهایت برای پنهان سازی برگه های مختلف از جستجو در وردپرس، باید از قطعه کد زیر در فایل فانکشن قالب نصبی خود استفاده نمایید.
if (!is_admin()) { function wpn_search_filter($query) { if ($query->is_search) { $query->set('post_type', 'post'); } return $query; } add_filter('pre_get_posts','wpn_search_filter'); }
با کمک قطعه کد بالا، تنها پست ها یا نوشته ها در نتایج جستجو نمایش داده می شود. همچنین در این قطعه کد با قرار دادن عبارت pages به جای post در خط سوم به عنوان نوع نوشته، تنها در نتایج جستجوی وردپرس برگه ها نمایش داده خواهند شد.
همانطور که در این آموزش مشاهده کردید، با پنهان سازی بخش های مختلف از جستجوی وردپرس، می توانید تعیین کنید که کاربران شما کدام بخش ها را بتوانند مشاهده و جستجو کنند.
نوشته پنهان سازی از جستجوی وردپرس بدون استفاده از افزونه اولین بار در بیست اسکریپت. پدیدار شد.