Jetpack SNS連携(パブリサイズ)の本文字数を制限する
件名の通りJetpackがSNS(Twitter、Facebook他)に飛ばす本文の字数を任意に決めるコード。
以前こっちで書いたコードで警告が出ていることに気づいたので修正して再掲載。
何をしているコードなのかは上記からどうぞ。
そして、ついでなので少し書き換えました。
functions.phpに以下を記載
function publicize_message_rewrite($post_id){ $num = 64; //ここに字数制限を指定 if(class_exists('Publicize') && class_exists('Publicize_Base') && isset($_POST['content'])){ $str = preg_replace('/( | | )/', '', preg_replace('/\r\n|\r|\n/', '', strip_tags($_POST['content']))); $str = (mb_strlen($str) > $num) ? mb_substr($str, 0, $num - 2, get_bloginfo('charset')).'[...]' : $str; update_post_meta($post_id, '_wpas_mess', $str); unset($str); } unset($num); } add_action('save_post', 'publicize_message_rewrite', 999, 1);
以上でFacebookやTwitter側には指定された字数で本文データが行っているはず。