2014-09-02 103 views

回答

2

Yoast使各种过滤器可用。看他们的WordPress SEO API Docs文章的列表。因此,举例来说,如果你想改变一个博客帖子ID为86的opengraph类型,你可以使用wpseo_opengraph_type过滤器:

function modify_opengraph_type_p86($type) { 
    if (is_single(86)) 
     $type = 'video'; 

    return $type; 
} 
add_filter('wpseo_opengraph_type', 'modify_opengraph_type_p86'); 
+0

根据该文档,你只能改变OG类型,OG的形象,但你不能对于'og:description'。此外似乎没有办法控制'twitter:'标签。有没有人知道一种方法来实现这个目标? – 2016-05-28 14:27:38

+0

我发布了一个解答我的评论问题的答案 – 2016-05-28 15:11:50

6

通过Yoast搜索引擎优化的代码来看,我发现很多“无证”过滤器您可以使用。下面是从中提取一个列表:

wpseo_opengraph_author_facebook - 允许开发人员过滤 Yoast SEO后作家Facebook的个人主页URL
wpseo_opengraph_admin - 允许开发人员过滤FB:管理员 串由Yoast SEO wpseo_opengraph_title放出来 - 允许改变 标题专门为OpenGraph
wpseo_opengraph_url - 允许 改变OpenGraph URL wpseo_opengraph_type - 允许改变 OpenGraph类型页面
wpseo_opengraph_desc - 允许改变 欧普enGraph描述
wpseo_opengraph_site_name - 允许 改变OpenGraph站点名称wpseo_opengraph_show_publish_date - 允许出对其它文章类型 wpseo_opengraph_image_size发布日期 - 允许改变使用 OpenGraph图像大小共享wpseo_opengraph_image - 允许改变 OpenGraph图像。
wpseo_twitter_card_type - 允许由Yoast SEO改变 Twitter的卡类型为Twitter的卡输出
wpseo_twitter_metatag_key - 使Twitter的元标记键 过滤
wpseo_twitter_description - 允许由Yoast改变 Twitter的描述,如Twitter的卡输出SEO
wpseo_twitter_title - 允许改变Twitter的标题输出 Twitter的卡由Yoast SEO wpseo_twitter_site - 允许由Yoast SEO改变 Twitter网站账户作为Twitter的卡输出
wpseo_twitter_image - 允许改变Twitter的卡 图像0​​wpseo_twitter_image_size - 允许改变Twitter的卡 图像尺寸wpseo_twitter_creator_account - 允许由Yoast SEO

EDIT改变 Twitter帐户在Twitter的卡输出:
有几件事情要记住:
Facebook将og:url标记中的网址剪贴(即使它不是您给它的实际网址)。
如果您从wp过滤器函数返回false,Yoast将不会显示该标签,因此您可以像这样使用它,然后在您需要的代码的其他位置手动添加标签...

例如,这里是一些代码来禁用描述和图片标签为OG和Twitter:

function yoast_og_tag ($tag) { 
    return false; 
} 
$yfilters = [ 'wpseo_opengraph_desc','wpseo_opengraph_image','wpseo_twitter_description','wpseo_twitter_image' ]; 
foreach ($yfilters as $k => $f) { 
     add_filter($f, 'yoast_og_tag', 10, 1); 
}