آموزش قرار دادن جست و جو فقط در عنوان مطالب در وردپرس

آموزش قرار دادن جست و جو فقط در عنوان مطالب در وردپرس

همانطور که شما دوستان وردپرس کار من اطلاع دارید میدانید که در وب سایت وردپرسی جستجو بطور پیشفرض هم در متن مطالب وب سایت و هم در عنوان پست ها و برگه ها در وب سایت وردپرس انجام میشود . خب دوستان عزیز این کار یک سری مزیت ها برای وب سایت شما دارد و یک سری مشکل هم میتواند به وجود اورد . اما گاهی اوقات شاید به این فکر کنید که کاش میشد فقط جست و جو ها در مورد عناوین مطالب انجام شود و اصلا در متن و … جست و جو صورت نگیرد و فقط جستجو محدود به عنوان پست ها باشد و متن پست را جستجو نکند برای اینکار شما نیاز به یک تکه کد بسیار ساده دارید و نیاز به تغییرات بسیار حساس و بزرگ نیست و با همین قطعه کد میتوانید این مورد را در وب سایت خود اعمال کنید

خب دوستان عزیز وارد فایل function.php قالب وردپرس خود شده و سپس کد زیر را در مکانی مناسب قرار دهید:

۱
۲
۳
۴
۵
۶
۷
۸
۹
۱۰
۱۱
۱۲
۱۳
۱۴
۱۵
۱۶
۱۷
۱۸
۱۹
۲۰
۲۱
۲۲
۲۳
۲۴
۲۵
۲۶
۲۷
۲۸
۲۹
۳۰
۳۱
۳۲
۳۳
۳۴
۳۵
۳۶
۳۷
۳۸
۳۹
۴۰
۴۱
۴۲
۴۳
۴۴
۴۵
۴۶
۴۷
۴۸
۴۹
۵۰
۵۱
۵۲
۵۳
۵۴
۵۵
۵۶
۵۷
۵۸
۵۹
۶۰
۶۱
۶۲
۶۳
۶۴
۶۵
۶۶
۶۷
۶۸
۶۹
۷۰
۷۱
۷۲
۷۳
۷۴
۷۵
۷۶
۷۷
۷۸
۷۹
۸۰
۸۱
۸۲
۸۳
۸۴
۸۵
۸۶
۸۷
۸۸
۸۹
۹۰
۹۱
۹۲
۹۳
۹۴
۹۵
۹۶
۹۷
۹۸
۹۹
۱۰۰
۱۰۱
۱۰۲
۱۰۳
۱۰۴
۱۰۵
۱۰۶
۱۰۷
۱۰۸
۱۰۹
۱۱۰
۱۱۱
۱۱۲
<?php
function
__search_by_title_only(
$search
, &
$wp_query
)
{
global
$wpdb
;
if
(
empty
(
$search
) )
return
$search
;
// skip processing - no search term in query
$q
=
$wp_query
->query_vars;
$n
= !
empty
(
$q
[
'exact'
] ) ?
''
:
'%'
;
$search
=
$searchand
=
''
;
foreach
( (
array
)
$q
[
'search_terms'
]
as
$term
) {
$term
= esc_sql( like_escape(
$term
) );
$search
.=
"{$searchand}($wpdb->posts.post_title LIKE '{$n}{$term}{$n}')"
;
$searchand
=
' AND '
;
}
if
( !
empty
(
$search
) ) {
$search
=
" AND ({$search}) "
;
if
( ! is_user_logged_in() )
$search
.=
" AND ($wpdb->posts.post_password = '') "
;
}
return
$search
;
}
add_filter(
'posts_search'
,
'__search_by_title_only'
, ۵۰۰, ۲ );
?>

خب دوستان عزیز این آموزش به پایان رسید.
فقط توجه کنید که قبل از اعمال هر تغییر باید از فایل های وب سایت وردپرس خود نسخه پشتیبان تهیه نمائید.