JetPackのFacebookへの自動共有で全文が掲載されてしまうのを防いでハッシュタグも付ける方法


JetPackプラグインのパブリサイズ共有機能で、ブログ投稿時に自動的にFacebookのページに共有するように設定しているのですが、標準ですと以下のように本文がずらーーーっと掲載されてしまいます。

Home

Publicize makes it easy to share your site’s posts on several social media networks automatically when you publish a new post. Our Premium and Professional plan users can also share content that has already been published, and schedule their posts to be shared at a specific time.

そこで、対策法を探ってみましたらこちらの記事がヒット。

WordPressのFacebook自動投稿で全文表示されるのを防ぐ方法【Jetpack共有】

このブログでは、WordPressで作っています。 そして、WordPressで記事を投稿すると以下のSNSに自動で投稿されるように設定をしています。 WordPressプラグインの「 Jetpack 」で《共有》設定をしているので、各SNSに自動投稿してくれるので、とても便利で活用しています。ただ …

要は毎回毎回カスタムメッセージフォームにタイトルなどを入力しろとのこと。

これはこれで面倒でさらに探ってみますと、英語の記事でこちらがヒット。

Jetpack: add hashtags to tweets sent by Publicize | Jeremy Herve

Jetpack’s Publicize module allows you to automatically publish your posts to your favorite Social Networks like Twitter or Facebook. You can customize the message that is posted to Social Networks thanks to the small input field right above the Publish button: But what if you wanted to automatically add details to each Publicized post?

こちらの方法では、記事の保存・公開時、カスタムメッセージに「タイトル」と記事に設定しているタグを「ハッシュタグ」に変更してくれるという方法です。

以下のコードをテーマのfunctions.phpにコピペすれば利用出来ます。

function jeherve_publicize_hashtags() {
    $post = get_post();
    if ( ! empty( $post ) ) {
 
        // Grab the tags of the post
        $post_tags = get_the_tags( $post->ID );
 
        // Append tags to custom message
        if ( ! empty( $post_tags ) ) {
 
            // Create list of tags with hashtags in front of them
            $hash_tags = '';
            foreach( $post_tags as $tag ) {
                $hash_tags .= ' #' . $tag->name;
            }
 
            // Create our custom message
            $custom_message = get_the_title() . ' ' . $hash_tags;
            update_post_meta( $post->ID, '_wpas_mess', $custom_message );
        }
    }
}
 
// Save that message
function jeherve_cust_pub_message_save() {
    add_action( 'save_post', 'jeherve_publicize_hashtags' );
}
add_action( 'publish_post', 'jeherve_cust_pub_message_save' );

ただ、理由は定かではありませんが、子テーマのfunctions.phpでは機能しなかったので、仕方がなく親テーマで設定しました。



物草灸太郎

怠けたい。

コメントを残す