搜索结果突出显示断开我的阅读更多链接

时间:2011-11-22 作者:Anna

我试图在我正在编码的主题中为搜索结果添加突出显示。我在这个帖子上找到了这样做的方法:How to highlight search terms without plugin 它工作得很好。然而,每当永久链接包含搜索词时,它与我的阅读更多链接相冲突,因为它试图在阅读更多链接中进行替换,导致链接奇怪地断开。

有人对此有什么建议或建议吗?

我使用的以下代码如下:

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

function supralegal_auto_excerpt_more( $more ) {
    return \'&hellip;\' . supralegal_read_more_link();
}
add_filter( \'excerpt_more\', \'supralegal_auto_excerpt_more\' );

function supralegal_read_more_link() {
    return \' <a href="\'. esc_url( get_permalink() ) . \'" class="read_more">\' . __( \'Read more\', \'supralegal\' ) . \'</a>\';
}

1 个回复
最合适的回答,由SO网友:Joshua Abenazer 整理而成

Try this.

function search_excerpt_highlight() {
    $excerpt = get_the_excerpt();
    $keys = implode(\'|\', explode(\' \', get_search_query()));
    $excerpt = preg_replace(\'/(\' . $keys .\')/iu\', \'<ins class="search-highlight">\\0</ins>\', $excerpt);
    echo \'<p>\' . $excerpt . \'&hellip;\' . supralegal_read_more_link() . \'</p>\';
}

function supralegal_auto_excerpt_more( $more ) {
    return \'\';
}
add_filter( \'excerpt_more\', \'supralegal_auto_excerpt_more\' );

function supralegal_read_more_link() {
    return \' <a href="\'. esc_url( get_permalink() ) . \'" class="read_more">\' . __( \'Read more\', \'supralegal\' ) . \'</a>\';
}
结束

相关推荐

Permalinks and page store

我把这个贴在stackoverflow上,他们说我可以在这里试试-我的网站上安装了wordpress。在那个网站的一个子文件夹下,我安装了oscommerce系统作为在线商务商店。我在wordpress上激活了permalinks,但现在每次我试图联系商店管理部门时,我都会得到wordpress中找不到的页面。如果我禁用永久链接,我可以再次访问,你能帮我吗?谢谢你,丹尼