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

カテゴリ

この記事のコメント

コメントはないです。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です