Wordpress Relevanssi用标题中的某个单词提升页面

时间:2018-01-25 12:42:50

标签: php wordpress relevanssi

我是一名php新手,我试图提升标题中某些字词的网页,以便首先出现在搜索结果页面中。

我尝试修改此代码

/*Relevanssi sort boost exact matches in search results*/
add_filter('relevanssi_results', 'rlv_exact_boost');
function rlv_exact_boost($results) {
    $query = strtolower(get_search_query());
    foreach ($results as $post_id => $weight) {
        $post = relevanssi_get_post($post_id);

                // Boost exact title matches
        if (stristr($post->post_title, $query) != false) $results[$post_id] = $weight * 100;

                // Boost exact matches in post content
        if (stristr($post->post_content, $query) != false) $results[$post_id] = $weight * 100;
    }
    return $results;
}

到此:

add_filter('relevanssi_results', 'course_title_boost');
function course_title_boost($results) {
    $query = strtolower(get_search_query());
    foreach ($results as $post_id => $weight) {
        $post = relevanssi_get_the_title($post_id);

                // Boost pages with course in the certain titles
        if (stristr($post->post_content, $query) != false) $results[$post_title->strpos(strrpos($post_title, 'courses'))] = $weight * 200;
    }
    return $results;
}

但它不起作用。

任何帮助将不胜感激。

哦是的我在wordpress 4.9.2 with relevanssi 4.0.3

1 个答案:

答案 0 :(得分:0)

终于找到了似乎正在发挥作用的那个。

我刚才包括:

        if (strpos($post->post_title, "Courses")) $results[$post_id] = $weight * 100;

所以现在完整的代码如下所示:

add_filter('relevanssi_results', 'rlv_exact_boost');
function rlv_exact_boost($results) {
    $query = strtolower(get_search_query());
    foreach ($results as $post_id => $weight) {
        $post = relevanssi_get_post($post_id);

                // Boost pages with "courses" in the title
        if (strpos($post->post_title, "Courses")) $results[$post_id] = $weight * 100;

                // Boost exact matches in post content
        if (stristr($post->post_content, $query) != false) $results[$post_id] = $weight * 85;

                        // Boost exact title matches
        if (stristr($post->post_title, $query) != false) $results[$post_id] = $weight * 65;

    }
    return $results;
}

我只会满足于我的需要。

希望这有助于其他正在寻找的人。