以编程方式更改元标签

时间:2015-04-27 作者:nielsv

有没有一种方法可以通过代码而不是在头部而是在模板文件中更改元标记?

我想更改元标记

<meta property="og:title" content="title" /> 
<meta property="og:description" content="description" /> 
<meta property="og:image" content="thumbnail_image" />
它们在调用facebook SDK时自动设置。有没有办法在我的代码中(而不是在header.php中)更改这些标记?

我尝试在我的子模板(content share.php)中这样做:

<?php
   add_action( \'wp_head\', \'add_meta_tags\' , 10 );
?>
然后在函数中。我的主题php我有:

function add_meta_tags() {
    echo \'<meta property="og:title" content="Test">\' . "\\n";
}
但那没什么用。当我添加die; 函数中没有任何更改。好像我的函数没有被调用。

我如何解决这个问题?

1 个回复
SO网友:jimihenrik

我想你需要add_action( \'wp_head\', \'add_meta_tags\' , 10 ); 在您的功能中。php而不是模板来获取调用的函数。然后,它会将其添加到您拥有的任何地方wp_head(). 所以如果你只想称之为内容共享。php您需要一些条件化逻辑,如

if (is_page_template(\'page-templates/content-share.php\')) {
  add_action( \'wp_head\', \'add_meta_tags\' , 10 );
}
当然,将页面模板文件夹更改为主题文件夹中模板所在的文件夹。

结束

相关推荐

评论后的API Hook(用于在Facebook上分享)

我正在一个网站上工作,该网站启用了评论,没有任何限制。在一个页面上发表评论后,您的评论会显示在该页面上,我在每条评论下面添加了一个Facebook共享图标,允许您共享“website.com/page?comment=10”(或您的特定评论ID)。如果你愿意,你也可以分享其他人的评论。我现在想在用户提交评论后添加一条弹出消息,上面写着“谢谢评论!你想在Facebook上分享这条评论吗?”然后允许您共享相同的URL(以便它直接指向您在页面上的评论)。我试图为“发表评论后”找到API挂钩,试图自己编写这个程序