我想为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_contentwpseo_opengraph_image,但这似乎并没有朝着正确的方向发展。
有谁能给我解释一下如何实现不同的og:images for different post-categories?!
我黑客的原因:wp seo不拿起图片插入到一个帖子使用画廊的快捷方式。它将返回到将默认图像(如wp seo选项中指定的)包含为og:image。因此,我想禁用包含特定类别帖子的默认图片(即类别“has_images”)并让facebook scraper获取图片库图片-如果没有默认的og:image,它们会被获取!

最佳答案

你可以试试这样的东西(不测试)。它对opengraph图像使用wpseo_opengraph_imageyoast过滤器。

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/

10-13 00:22