问题:我对WhatsApp和Telegram上的链接社交预览有问题。社交预览会出现在桌面和其他平台上,Facebook调试工具也会显示完整的信息,但在WhatsApp和Telegram手机上没有显示任何内容。我做了研究并测试了不同的东西,最后发现WhatsApp和Telegram不喜欢在<head>
. 我把他们拉近了,这几乎奏效了,但并不完全奏效。
现在,它不显示缩略图;更糟糕的是,它为我的所有页面显示相同的标签。例如,我在WhatsApp上共享一篇帖子的链接,但输出的og标签属于我的主页,无论我共享哪个页面或帖子,它都显示相同的og标签。
现在,我几乎知道问题是什么了,我想检验我的下一个假设,看看它是否有效。
我正在考虑创建如下自定义函数:
我在里面创建了一个函数functions.php
并在其中包含所有og标记。然后,输入一行代码“;例如“QUOTE;”;,<?(get_og_tags);?>
内部<head>
. 就在开场白之后,我希望它能起作用。
我的第一个问题:
1-这是一个好的决定吗
2-如果是,您能帮助我完成此功能吗?
我希望解决这个问题,我没有坚持用函数来解决它。使用函数正是我想到的。如果你能帮助我解决你所知道的任何问题,我将不胜感激。
SO网友:Q Studio
以下是如何为Facebook添加一些OG标签的示例:
在上创建函数的挂钩wp_head
行动
// if on a single post screen, generate and insert facebook:OG tags. ##
add_action( \'wp_head\', \'wpse381199_og_tags\', 12 );
然后创建一个函数来生成OG标记
function wpse381199_og_tags(){
// get the current post object ##
$the_post = get_post();
// bulk if no post
if ( ! $the_post ){ return false; }
// check we are on a single post or page, if not bulk ##
if (
! \\is_single()
&& ! \\is_page()
) {
return false;
}
// get all the data we need. ##
$array = [];
$array[\'title\'] = $the_post->post_title;
// add all other tag elements you want to array here and add a new tag for each value in the HTML below.
?>
<meta property="og:title" content="<?php echo ( \\esc_html( $array[\'title\'] ) ); ?>" />
<?
}