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側には指定された字数で本文データが行っているはず。
