获取带有静态 html 内容的 wordpress 页面模板以在搜索中显示

Posted

技术标签:

【中文标题】获取带有静态 html 内容的 wordpress 页面模板以在搜索中显示【英文标题】:Getting wordpress page template with static html content to show in searches 【发布时间】:2020-01-28 18:25:41 【问题描述】:

我已经设置了一个带有静态 html 的 Wordpress 页面模板(通过在我的子主题文件夹中创建一个 php 文件,使用注释块提供模板名称,然后是 HTML 内容,然后创建一个 Wordpress 页面并分配页面属性中的模板名称)。

就目前而言,页面显示完全符合要求(使用 URL domain.com/template-name/)。问题是我似乎无法找到一种方法来从我的模板页面获取任何静态 HTML 内容以显示在搜索中(使用标准 Wordpress 搜索以及静态 HTML 内容中的已知搜索词)。

有没有办法让搜索包含页面模板的静态 HTML 代码作为其结果的一部分?

我尝试了几个搜索插件(如 Relevanssi、Ivory Search 和其他一些插件),但均未成功。我还使用相同的静态 HTML 代码(在页面模板文件中使用)创建了一个页面,但将其放在代码编辑器中并分配默认模板——以测试搜索本身。在这种情况下,当使用代码中已知的搜索词时,搜索会返回页面。

<?php
/* A very basic example where ideally "Hello" or "World" would show up if used in a search. */

/* Template Name: Hello */

   get_header(); 

?>

<h1>Hello World!</h1>

<?php
   get_footer(); 
?>  

当使用 HTML 内容中的已知词进行搜索时,我预期(或希望)我的静态 HTML 页面模板会显示在搜索结果页面中。不幸的是,这并没有发生。

【问题讨论】:

【参考方案1】:

WordPress 将它的所有内容存储在数据库中,这就是它正在搜索的内容。我不知道有任何搜索插件可以扩展该功能以搜索主题模板中的文本。

您最好的选择是将文本添加到帖子的内容中。如果无法做到这一点,您将需要创建一个函数来搜索您的模板并将这些结果添加到搜索过滤器中。

【讨论】:

我按照您的建议将文本添加到帖子(在本例中为页面)内容中。它确实可以出现在搜索中;同样重要的是,它不会干扰页面模板的代码。很好的呼吁。这暂时可行,但以后我可能会尝试开发一个搜索解决方案来查找页面模板 HTML 文本。如果我这样做了,我会重新审视这篇文章并发表我的发现。

以上是关于获取带有静态 html 内容的 wordpress 页面模板以在搜索中显示的主要内容,如果未能解决你的问题,请参考以下文章

Wordpress 如何使用 python 和 REST API 获取高级自定义字段内容

在wordpress中获取<p>标签内的内容

配置LAMP与WordPress

WordPress伪静态规则设置

iis wordpress 404错误 伪静态rewrite

xml 使用WordPress进行内容管理与Miva静态页面。