我想为wordpress中的特定帖子设置单独的facebook开放图形元图像(og:image
)。
例如,如果文章属于类别1,则将og:image
设置为cat_1_image.jpg
,如果文章属于id=2的类别,则将其设置为cat_2_image.jpg
。
伪代码:
if($category->term_id == 1)
og:image = 'cat_1_image.jpg';
elseif($category->term_id == 2)
og:image = 'cat_2_image.jpg';
elseif($category->term_id == 3) // CatID 3 means 'Post has images, no default og:image, please'
og:image = '';
现在,我已经研究了wpso的各种钩子,比如
wpseo_pre_analysis_post_content
和wpseo_opengraph_image
,但这似乎并没有朝着正确的方向发展。有谁能给我解释一下如何实现不同的og:images for different post-categories?!
我黑客的原因:wp seo不拿起图片插入到一个帖子使用画廊的快捷方式。它将返回到将默认图像(如wp seo选项中指定的)包含为og:image。因此,我想禁用包含特定类别帖子的默认图片(即类别“has_images”)并让facebook scraper获取图片库图片-如果没有默认的og:image,它们会被获取!
最佳答案
你可以试试这样的东西(不测试)。它对opengraph图像使用wpseo_opengraph_image
yoast过滤器。
add_filter('wpseo_opengraph_image', 'category_image');
function category_image($image) {
global $post;
if( in_category( 'category1', $post->ID ) ) {
$image = get_stylesheet_directory_uri().'/images/cat_1_image.jpg';
} elseif(in_category( 'category2', $post->ID )) {
$image = get_stylesheet_directory_uri().'/images/cat_2_image.jpg';
}
return $image;
}
在这个例子中,我猜你的图片在你的主题图片文件夹中。
关于php - Yo SEO的WP SEO - 如何设置不同的og:每个类别的图像,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28295023/