WordPressのJetpackのパブリサイズ共有でFacebookに全文が掲載されてしまう[追記あり]

2017年3月8日Web-log・ココログ関連,WordPress

WordPressのプラグイン、Jetpackを使っています。機能の一つの「パブリサイズ共有」も使っています。FackbookやtwitterなどのSNSに、WordPressから投稿があった事を通知します。でも、デフォルトのままだと、恰好悪いです。

twitterには、「タイトル+URL+アイキャッチ画像」だけが登録されます。タイトルだけじゃなく、もう少し気の利いた言葉を足したいです。

Facebookには、本文全文が掲載されてしまい、かつ段落分けが一切なくなります。図もアイキャッチ画像しか載りませんし。非常に読みづらいです。

カスタマイズ前のパブリサイズ共有

そう感じている人は他にもいて、カスタマイズ方法が出ていました。ありがとうございます。

Jetpackの開発者の方も、問題には思っているみたいで、テンプレートを使う共有方法を開発しているようです。Thank you!

この中で、bbonevさんと言う方が、非常にスマートな方法を提案されています。Thank you very much!

非常に素晴らしい方法で、この方法で問題解決ができました。でも、Jetpack関係者の方には、全く相手にされてないのです。なんだか変です。

原理は、次の通りです。パブリサイズ共有には、投稿する時の文言をカスタマイズする機能があります。この文言は、カスタムフィールドの’_wpas_mess’に保存されます。この’_wpas_mess’をWordPressの投稿を更新するタイミングなどで、強制的にオリジナルの物に書き換えているのです。

function set_title_publicize () {
    global $post;
    $publicize_custom_message = sprintf( '新しい記事『%s』を投稿しました。読んでいただけると嬉しいです。 ', get_the_title( $post->ID ) );
    update_post_meta( $post->ID, '_wpas_mess', $publicize_custom_message );
}
add_action('the_post', 'set_title_publicize');
add_action('save_post', 'set_title_publicize');
add_action('draft_to_publish', 'set_title_publicize');
add_action('new_to_publish', 'set_title_publicize');
add_action('pending_to_publish', 'set_title_publicize');
add_action('future_to_publish', 'set_title_publicize');

(追記 2016-10-27 00:02)

このコードは、テーマのfunctions.phpに追加するか、プラグイン化して追加してください。

パブリサイズ共有カスタム設定

これが、カスタムメッセージ設定の内容です。

カスタムメッセージ設定が、twitter投稿内容に反映されています。

カスタム設定後のFacebook投稿

Facebook投稿にも、全文投稿がされなくなり、カスタムメッセージ設定が反映されています。

素晴らしいです。

[amazonjs asin="B00QGBORXI" locale="JP"]

(追記 2016-10-27 00:02)

この記事を次の記事で参照されていました。ありがとうございます。コードの追加場所が書かれておらず、わからなかったとの事なので、追記しました。

(追記 2017-02-25 00:42)

URLは指定しなくても良くなったようなので、削除しました。

たまに反映されないことがあったので、改良版を作りました。プラグインとして作れば、もっとスマートに実現できます。

JetpackのパブリサイズでFacebookに全文を掲載させない改良版[追記あり]

(追記 2017-03-08 01:03)

と思ったらダメでした。改良版と思っていた方法は、詳細を編集を一度クリックしないと、反映されないようです。

詳細を編集

この記事に書いてある方法なら、自動で更新されます。でも、たまに失敗する事があります。なんでだろう。

Posted by お市のかた