جستجو فقط در عنوان پست ها در وردپرس
عرض سلام خدمت همراهان مِستر آموز
جستجوی وردپرس بطور پیش فرض هم در متن و هم در عنوان پست ها و برگه ها جستجو میکند. گاهی اوقات ممکن است نیاز داشته باشیم که جستجو خودمان را محدودتر کنیم. بطور مثال ممکن است بخواهیم فرم جستجو موجود در سایت شما فقط عنوان پست ها را جستجو کند و به متن پست ها کاری نداشته باشد.
جستجو فقط در عنوان پست ها
برای اینکه بتوانید جستجوی پیش فرض وردپرس را محدود به عنوان پست ها کنید. کافیست کد زیر را در فایل functions.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', 500, 2 ); ?>
موفق و پیروز باشید.