可以在WordPress中使用Twitter的意图来处理帖子的图片吗?

时间:2017-02-27 作者:paranza

我正在使用Twitter意图作为我主题的一部分,我可以在Twitter上成功共享帖子的URL。然而,我希望能够显示共享帖子的图像。这可能吗?我在考虑使用推特卡:https://dev.twitter.com/cards/overview 这是可行的解决方案吗?我想我是在试图理解我想做的事情是否可能。

这是代码的摘录:

<div class="myclass>
<a href="https://twitter.com/intent/tweet?text=<?php echo urlencode( the_permalink() ) ?>" target="_blank"><i class="icon-twitter"></i></a>
</div>
谢谢你的帮助。

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

我的结论如下:

function my_twitter_cards() {
    if (is_singular()) {
        global $post;
    $twitter_user = str_replace(\'@\', \'\', get_the_author_meta(\'twitter\'));
    $twitter_url = get_permalink();
    $twitter_title = get_the_title();
    $twitter_excerpt = get_the_excerpt();
    $twittercard_image = wp_get_attachment_image_src(get_post_thumbnail_id($post->ID), \'full\');
    $twittercard_thumb = $twittercard_image[0];
    if ($twitter_user) {
        echo \'<meta name="twitter:creator" content="@\' . esc_attr($twitter_user) . \'" />\' . "\\n";
    }
    echo \'<meta name="twitter:card" content="summary" />\' . "\\n";
    echo \'<meta name="twitter:url" content="\' . esc_url($twitter_url) . \'" />\' . "\\n";
    echo \'<meta name="twitter:title" content="\' . esc_attr($twitter_title) . \'" />\' . "\\n";
    echo \'<meta name="twitter:description" content="\' . esc_attr($twitter_excerpt) . \'" />\' . "\\n";
    echo \'<meta name="twitter:image" content="\' . esc_url($twittercard_thumb) . \'" />\' . "\\n";
    }
}
add_action(\'wp_head\', \'my_twitter_cards\');

SO网友:brianjohnhanna

是的,您想要实现的是卡片。这基本上就是将元数据注入到您的站点中,告诉Twitter您希望它如何呈现的概念。如果您想使用代码实现它,可以通过以下方式实现它(基本版本):

add_action( \'wp_head\', \'wpse_add_twitter_metadata\' );
function wpse_add_twitter_metadata() {
    global $post;
    printf(
        \'<meta name="twitter:card" content="summary" />
        <meta name="twitter:title" content="%s" />
        <meta name="twitter:description" content="%s" />
        <meta name="twitter:image" content="%s" />\',
        get_the_title( $post ),
        get_the_excerpt( $post ),
        get_the_post_thumbnail_url($post)
    );
}
配置好后,当有人以web意图或通过复制和粘贴URL来共享您的页面时,Twitter应该拥有生成适当预览所需的信息。话虽如此,我个人还是会依靠插件来做类似的事情。像这样的社交媒体API和集成总是在变化,一个免费的插件Yoast SEO 将为多个社交网络处理此问题,而无需自己实现。

相关推荐

在我的博客上获取Twitter内容

我是一个利基博客的编辑,该博客发布了大量精彩内容。我们还在推特提要中发布指向其他网站/资源的链接。令我沮丧的是,推特提要上的外部内容在以太网上丢失了。这是很好的、有用的东西,但三个月(或几年)后你就找不到了,就像我们的好博客内容一样。例如,六个月前,我们在推特上发布了一个关于如何使用Instragram的链接。我想再找一次那个帖子。我希望能够在我的博客上,查看“Instragram”标签或搜索并找到它。所以我的问题是,怎样才能最好地将“推特”内容放到我的博客上,以便可以在档案中访问?(可能还有其他类似的内