如何动态修改属性="og:image" in PHP的meta内容?

How to dynamically modify the content of the meta property="og:image" in PHP?

我正在使用 PHP 和 Smarty 模板引擎。

我需要创建一个函数或找到某种方法,以便每次分享视频(即包含视频的社交网络 post)时,我都会获取该视频缩略图的值(缩略图的位置存储在数据库中)并将其插入到 meta 属性="og:image" 的内容中,这样当我分享它时(例如通过 Whatsapp),它显示该视频的缩略图,而不是默认图片。

有什么想法吗?提前致谢。

如果您每页只有一个视频,这很容易。

  1. 从数据库中获取数据

2.) 在相应的 HTML 字段中回显检索到的数据

例如

原版 PHP

<meta property="og:title" content="<?=  $title ?>" >
<meta property="og:description" content="<?= $decription  ?>">
<meta property="og:type" content="website" />
<meta property="og:url" content="<?= $_SERVER['PHP_SELF']; ?>" >
<meta property="og:image" content="<?= $thumbnail_url ?>" >
<meta property="og:site_name" content="your site name" >
<meta property="og:locale" content="es_ES" >
<meta property="og:locale:alternate" content="en_US" >
<meta property="fb:app_id" content="xxxxxxxxxxxxxxxxx" >
<meta property="fb:admins" content="yyyyyyyyyyyyyyyyyyy" >

在 SMARTY 中,您只需将模板中的替换为 {$var}

<meta property="og:title" content="{$title}" >
    <meta property="og:description" content="{$decription}">
    <meta property="og:type" content="website" />
    <meta property="og:url" content="{$_SERVER['PHP_SELF']}" >
    <meta property="og:image" content="{$thumbnail_url}" >

3.) 使用 fb Share Debugger 进行测试 https://developers.facebook.com/tools/debug/