איל לשנות את החיפוש באתר וורדפרס שיחפש רק בכותרות?

יוני 3, 2013 lior2020
זמן קריאה למאמר זה: < 1 דקה

אתר וורדפרס שיש לו הרבה פוסטים צריך חיפוש הרבה יותר ממוקד ממה שיש לוורדפרס להציע.

כברירת מחדל וורדפרס מחפשת בכל שאילתה של חיפוש מילה או מונח בכל הפוסט כולו בכותרות, תגובות, וכמובן התוכן וזה לא תמיד טוב.. ונסביר למה בקצרה…

אם יש לכם אתר וורדפרס עם הרבה מידע שאתם מעדכנים, אתם חייבים לשנות את שיטת החיפוש שלכם, שהגולשים שכבר מחפשים אצלכם באתר יוכלו למצוא את מה שהם מחפשים יותר ביעילות. והדרך הכי טובה למיקוד החיפושים היא לחפש רק בכותרות של הפוסטים. (לפי דעתי) אם לא התוצאות יהיו רבות ולא ולא ממוקדות בכלל.

בצורה כזאת של חיפוש רק בכותרות של הפוסטים תוכלו למקד את החיפושים שלכם ולתת חוויה הרבה יותר טובה לגולשים שלכם.

אז איך עושים את זה.

פתחו את הקובץ function.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 );

שימרו את הקובץ ואתם מסודרים.
אם יש שאלות אני כאן

זמן קריאה למאמר זה: < 1 דקה
התחל
כן כן בדיוק כאן
דברו איתי
איך אפשר לעזור ?