Seb*_*ian 1 php wordpress seo image facebook-graph-api
我想og:image为Wordpress中的特定帖子设置单独的facebook开放图元图像().
例如,设置og:image到cat_1_image.jpg如果柱是在类别1,并且将其设置为cat_2_image.jpg,如果该信息是与ID = 2的类别.
伪代码:
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 = '';
Run Code Online (Sandbox Code Playgroud)
现在,我已经看了wpseo的各种钩子,像wpseo_pre_analysis_post_content和wpseo_opengraph_image,但是这似乎并没有在正确的方向引导.
任何人都可以向我解释如何实现不同的og:不同类别的图像?!
我黑客的原因:WP SEO不会使用图库短代码来获取插入帖子的图像.它将回退为包含默认图像(在WP SEO选项下指定)作为og:image.因此,我想禁用某个类别的帖子(即类别'has_images')的默认图像,并让facebook刮刀拿起画廊图像 - 如果没有默认的og:图像,它们会被拾取!
你可以尝试这样的事情(未经测试).它使用wpseo_opengraph_imageYoast过滤器作为opengraph图像.
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;
}
Run Code Online (Sandbox Code Playgroud)
在这个例子中,我猜你的图像是在你的主题图像文件夹中.
| 归档时间: |
|
| 查看次数: |
6067 次 |
| 最近记录: |