php WordPress搜索无法处理短代码驱动的内容

neskvpey  于 2023-11-16  发布在  PHP
关注(0)|答案(2)|浏览(121)

我有一个WordPress网站,我使用以下短代码插入内容:

[page name="foo/bar/buz"]

字符串
短代码在functions.php文件中处理如下:

function page_shortcode($attr)
{
    $name = $attr['name'];
    $locale = get_locale() === 'fr_FR' ? 'fr' : 'en';
    $path = "/content/{$locale}/pages/{$name}.md";
    $page = file_get_contents(WP_CONTENT_DIR . $path);

    return do_shortcode($page);
}


我利用这些简码来委派特定的文件,以便在单独的存储库中管理它们并处理多种语言。然而,原生WordPress搜索无法正常运行,可能是因为内容未存储在数据库中。
有没有一个变通办法或解决方案,使WordPress的搜索功能正确与简码驱动的内容?任何见解或建议,将不胜感激。

t1qtbnec

t1qtbnec1#

WordPress核心的搜索功能只检查文章内容、标题和数据库中的其他内容。然而,Relevanssi搜索插件在创建搜索索引时可以选择扩展简码。
如果你不想使用预打包的插件,你可以创建自己的插件来做这种搜索。但这将是一个很大的工作。解释它将远远超出Stack Overflow的回答范围。并且使这样的搜索过程足够快以大规模使用将导致,好吧,像Relevanssi这样的搜索插件。

x7yiwoj4

x7yiwoj42#

看看这个question中的“包括自定义/ API结果”答案。看起来它可能是一个部分解决方案,让您的页面在搜索结果中,但正如O.Jones所提到的,您需要编写自己的搜索例程来查看文件本身。

相关问题