WordPress-在简码中更改标题标签

时间:2018-12-03 16:10:03

标签: php wordpress shortcode

似乎对此有些困难。

我添加了一些短代码。

add_shortcode("do_something", array($this, "my_function"));

所以我将[do_something]放在wordpress帖子中,它将运行我的功能。大。我想要的。

在这种情况下,

my_function可以获取一些动态内容以显示在页面上(例如,考虑产品列表)。这也一切正常。在此函数中,我还构建了一个我想放在页面的字符串。

我似乎无法从“ my_function”内部使用此功能。如果我将其放置在函数外部,则可以使用它,但是我没有动态设置标题标签所需的内容。

我用来设置标题的代码如下:

add_filter( 'pre_get_document_title', 'some_callback', 10 );

和some_callback函数:

    function some_callback($data){$title_tag = "test 123";  return $title_tag;}

如前所述,如果我将其粘贴在同一位置,我会执行add_shortcode,例如,它可以工作,如果我将其放在“ my_function”中,则不会。

我认为这与操作顺序有关,但我想不出解决方法。

欢呼!

1 个答案:

答案 0 :(得分:1)

在已经生成标题之后,不可能通过钩子修改文档标题,但是您可以通过将以下内容附加到您的shortcode输出中来通过javascript来实现:

$generatedTitle = "Your generated title";
echo "<script>document.title = '" . $generatedTitle . "';</script>";

如果您担心搜索引擎将如何应对,则Google和其他知名的搜索引擎将在抓取您的网站并在搜索结果中显示更改的标题时运行JS。