将架构添加到搜索结果页面的正文。已尝试使用IS_SEARCH

时间:2018-05-03 作者:user1928108

我正在尝试将架构标记添加到搜索结果页,并尝试使用以下代码:-

function body_schema()
{
$schema = \'http://schema.org/\';
if(is_search())
{
    $type = "SearchResultsPage";
} else {
    $type = \'Blog\';
}
echo \'itemscope itemtype="\' . $schema . $type . \'"\';
}
一旦我把它传给标题上的body标签,它似乎就不起作用了。我试着到处寻找答案,但找不到其他解决方案。

1 个回复
SO网友:WebElaine

问题是,因为此代码正在functions.php 在没有任何数据传递给它的情况下,它不知道正在运行什么类型的查询,因此它将始终执行else 行动

你可以把它拿出来functions.php 并更改您的header.php 要直接包含代码:

<?php
// ... other header code
function body_schema()
{
$schema = \'http://schema.org/\';
if(is_search())
{
    $type = "SearchResultsPage";
} else {
    $type = \'Blog\';
}
echo \'itemscope itemtype="\' . $schema . $type . \'"\';
} ?>
<body <?php body_class();?> <?php body_schema(); ?>>
这将起作用,因为当代码在页面本身上运行时,它知道当前查询是否是搜索查询。

如果你想保持你的功能functions.php, 您需要从标头向其传递一个参数。例如,您可以通过$query var当前正在运行header.php 这样你的功能functions.php 知道你在问什么问题。

结束

相关推荐

如何在存档页面中的帖子底部添加html代码?

当我阅读归档页时,我希望在每个摘录文本的底部添加一个格式化文本。所有帖子的代码都是一样的。通过修改类别,我找到了基于类别的存档页。我的子主题文件夹中的php文件。但我不知道在哪里为基于日期的归档或我的主题的所有博客归档页面编写代码。谢谢你的帮助。