通过搜索单词的链接扩展搜索功能

时间:2014-11-25 作者:Interactive

我的网站上有一个基本的搜索功能<这很好用。然而,我只有5页<因此,搜索功能将永远不会超过5页,这可能是一件好事<页数长得离谱。所以,如果你被搜索到的单词在一个页面上,你永远不知道在哪里
这种情况使得搜索功能毫无用处。所以我想知道是否有办法将搜索到的单词与某种锚链接起来

我知道这里的问题是在页面上的每个单词上创建锚定点。(这太疯狂了)。

我知道我可以使用此功能在结果中显示搜索到的单词:

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

echo $title;
}

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

    echo \'<p>\' . $content . \'</p>\';
}

function search_excerpt_highlight() {
$excerpt = get_the_excerpt();
$keys = implode(\'|\', explode(\' \', get_search_query()));
$excerpt = preg_replace(\'/(\' . $keys .\')/iu\', \'<strong class="search-highlight">\\0</strong>\', $excerpt);

echo \'<p>\' . $excerpt . \'</p>\';
} 
这是我的搜索功能:

<?php
            $search_count = 0;

            $search = new WP_Query("s=$s & showposts=-1");
            $exclude_option = get_option(\'ep_exclude_pages\');
            if($search->have_posts()) : while($search->have_posts()) : $search->the_post(); if($exclude_option) continue;
            $search_count++;
            endwhile; endif;

            echo \'<p style="color:#271d67; margin: -20px 0 15px;">\'. $search_count . \' results for \' . \'&lsquo;\'.$s.\'&rsquo;\' . \'</p>\';
            ?> 
            <?php if(have_posts()) : ?><?php while(have_posts()) : the_post(); ?>
            <h2 class="h2_link"><a href="<?php the_permalink(); ?>"><?php search_title_highlight(); ?></a></h2>
            <?php the_excerpt(); ?>
                <p class="postmetadata">
                    URL: <a href="<?php the_permalink(); ?>"><?php the_permalink(); ?></a>
                </p>
                <hr />
            <?php endwhile; ?>
            <?php else : ?>
            <?php endif; ?>
我不知道如何将此链接到页面中的内容。可能在内容页中使用某种$\\u GET[]命令?

M

1 个回复
SO网友:karpstrucking

您可以在链接到页面的URL中包含搜索词作为参数

http://www.example.com/page-here/?search-highlight=frogs
然后钩住the_content 筛选以将搜索突出显示项的所有实例替换为突出显示的版本

结束

相关推荐

有没有办法阻止WP编辑删除<gcse:earchbox-only></gcse:search box>

我想将我的谷歌自定义网站搜索代码粘贴到编辑器中,以显示在我的一个页面上。当粘贴到“文本”侧时,它会起作用,但如果我切换到“视觉”,get会变成一个NBSP有没有办法让我<gcse:searchbox-only></gcse:searchbox-only> 编辑是否得体?