如何在wordpress中突出显示搜索内容中的特定单词

时间:2016-05-03 11:21:30

标签: php jquery regex wordpress

我想在WordPress的内容结果中突出显示搜索词。

我为标题,摘录和内容突出显示了一些功能。标题和摘录工作正常但内容不正常。它扰乱了我的内容布局。

我的实际布局是 enter image description here

在内容中使用高亮搜索词功能之后。看起来像这样

enter image description here

我使用标题高亮的功能是

function search_title() {
$title = get_the_title();
$keys = implode('|', explode(' ', get_search_query()));
$content = strip_tags($content);
$title = preg_replace('/(' . $keys .')/iu', '<strong class="search-highlight">\0</strong>', $title);
echo $title;

}

我用于内容的功能是

function search_content() {
    $content = get_the_content();
    $keys = implode('|', explode(' ', get_search_query()));
    // $content = strip_tags($content);
    $content = preg_replace('/(' . $keys .')/iu', '<strong class="search-highlight">\0</strong>', $content);
    $content = preg_replace('~(?:\[/?)[^/\]]+/?\]~s', '', $content);
    echo '<p>' . $content . '</p>';

}

它的工作正常,但打破了我的布局。

我也尝试了一些jquery方法。但没有运气。

1 个答案:

答案 0 :(得分:0)

Shaban尝试使用此代码进行search.php并从functions.php中删除 search_content()

通过此代码获取搜索字词。

<?php echo $str = esc_html( get_search_query( false ) ); ?>

然后使用 contains:函数在同一个文件中编写jquery。像这样

$( ".content-column:contains('<?php echo $str ?>')" ).css( "background", "Yellow" );

那就是:)

希望这会对你有所帮助