new-post1

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

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

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

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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
<?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'
, 500, 2 );
?>

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