我有一个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的搜索功能正确与简码驱动的内容?任何见解或建议,将不胜感激。
2条答案
按热度按时间t1qtbnec1#
WordPress核心的搜索功能只检查文章内容、标题和数据库中的其他内容。然而,Relevanssi搜索插件在创建搜索索引时可以选择扩展简码。
如果你不想使用预打包的插件,你可以创建自己的插件来做这种搜索。但这将是一个很大的工作。解释它将远远超出Stack Overflow的回答范围。并且使这样的搜索过程足够快以大规模使用将导致,好吧,像Relevanssi这样的搜索插件。
x7yiwoj42#
看看这个question中的“包括自定义/ API结果”答案。看起来它可能是一个部分解决方案,让您的页面在搜索结果中,但正如O.Jones所提到的,您需要编写自己的搜索例程来查看文件本身。