Jetpackのパブリサイズ共有で記事が全文表示されてしまう。
パブリサイズ共有を行うと、記事全文が表示されていることに気がついた。どうやら気がつくのが遅かったらしく、巷では、ポツポツ話題になっていた模様。(【Jetpackで共有】全文書かれてしまう・・・ / JetpackでFacebookパブリサイズ共有を行った際に記事全文が共有されてしまう問題への暫定対応)
jetpackがうまく動作していないのか、単に仕様が変更になったのかよくわからない。調べるのも面倒なので、この期に出力内容をカスタマイズして対応しておくことにしました。
publicize_save_metaフィルターで共有時にフックする。
_wpas_messというカスタムフィールドを書き換えることでパブリサイズ共有の出力を変更できます。とりあえず私の管理している範囲では本文を引用する共有対象はfacebookくらいなので、$service_name != ‘facebook’で条件判定しています。(そもそも他のSNSではどのように引用されているんでしょうかね。)最初抜粋を表示する方向で検討していましたが、どうせog:descriptionが表示されるのでバッサリカットしました。すっきり。
(参考:WordPress Jetpackのパブリサイズ共有のメッセージを自動設定)
/////////////////////// パブリサイズ共有のコンテンツ設定 ///////////////////////
function change_publicize_save_meta( $submit_post, $post_id, $service_name, $connection ){
if ( $service_name != 'facebook' ) return;
$publicize_custom_message = get_post_meta( $post_id, '_wpas_mess', true );
if ( !$publicize_custom_message ) {
$publicize_custom_message = sprintf(
"記事『%s』を投稿しました。 %s",
strip_tags( get_the_title($post_id) ),
wp_get_shortlink( $post_id, 'post' )
);
update_post_meta( $post_id, '_wpas_mess', $publicize_custom_message );
}
}
add_action( 'publicize_save_meta', 'change_publicize_save_meta', 10, 4 );