在社交媒体中共享时主页的默认图像

时间:2017-06-27 作者:Thredolsen

目前,我的主页上有一些最新的帖子。因此,当通过社交媒体(即Facebook)共享主页时,显示的缩略图来自最新帖子的顶部图像。

我想做的是设置它,以便在共享主页时,显示特定的默认图像。但是,图像必须仅在共享主页时显示,否则不应显示在网站上。最好的方法是什么?

3 个回复
最合适的回答,由SO网友:WebElaine 整理而成

几个选项:

Out-of-the-box plugin

如果您使用的是Yoast WordPress SEO,那么您有一个内置的Facebook图像设置。在您的SEO>社交菜单下,转到Facebook选项卡并在“Frontpage设置”下选择一幅图像您还可以在“默认设置”下为没有特色图像的帖子设置图像作为后备

其他SEO插件可能具有类似的功能。

Child theme

您可以创建子主题或修改自定义主题。首先,确保主题支持站点徽标。如果没有,add custom logo support.

接下来,编辑或复制header.php 进入新的儿童主题。内部<head></head> 标记,包括检查if(is_front_page())if(is_home()) 根据您的需要。听起来这两种方法都适用于你的情况。

如果满足条件,请获取自定义徽标URL

$image = wp_get_attachment_image_url(get_theme_mod(\'custom_logo\'), \'large\');
并将其输出到Open Graph标记中:

<meta property="og:image" content="<?php echo $image; ?>" />
<meta name="twitter:image" content="<?php echo $image; ?>" />

Custom plugin

如果你不想使用Yoast WordPress SEO或摆弄主题,你也可以创建自己的插件。风险在于,现有主题或插件可能已经输出了一个特色图像,因此您需要检查页面源,确保没有其他设置特色图像的内容。我假设是这样的,因为您当前的主题和插件在您尝试共享时设置了最近发布的帖子的图像。

基本上,您可以为wp_head 钩您的操作将输出打开的图形和Twitter图像数据,就像您选择第一个选项处理主题时一样。

您必须决定是否将图像硬编码到插件中,或者是否在wp admin中的某个位置创建一个选项页,以便随时更改图像。

SO网友:Jonny Perl

不同的社交平台使用不同的方法。

对于Facebook,您需要一组<meta> 标记为og 属性-例如。og:url, og:type, og:descriptionog:image. og:image 应包含要显示的图像的完整路径。

推特与之类似,但有自己的“卡片”机制,需要自己的一组meta 标签-例如。name="twitter:card"name="twitter:image"

我相信有插件可以处理这个问题。我有自己的简单函数,它使用页面的缩略图,如果没有设置,则使用回退。

SO网友:Dihgg

OG meta tags 在这种情况下,可能是您正在寻找的:

<meta property="og:image"content="path/to/foo.jpg" />
放入ifis_home() 希望它能起作用

结束

相关推荐

Hide text if not homepage

我想添加文本,但只显示在主页上。我使用了以下if脚本:<?php if( is_home() ) : ?> <p>Some text</p> <?php endif;?> 但问题是它出现在每个分页的页面上。例如,如果我查看http://www.example.com/page/2/ 它将显示该文本。我只希望它出现在第一页。有什么办法吗?