All in one Event Calendar でポスターボード表示にするとテキストが省略されないので修正のおぼえがき

http://time.ly
便利に使っているAll in one Event Calendar だけど、日本語環境で使うにはちょこちょこと修正が必要なので、、

まずは管理画面や表示をひと通り日本語化したいわけです。
日本語ファイルをゼロから作るのはかなり手間なので、ファイルを公開しているサイトからダウンロードして使います。
» All-in-One Event Calendar 日本語化
v1.9.2に対応しています。ありがたいです。

で、今回ハマったのがポスターボード表示の時にテキストが長ーーーーくなってしまう問題。日本語はスペースで単語を区切らないので、正しく省略してくれません。なので

“…..wp-content/plugins/all-in-one-event-calendar/app/model/class-ai1ec-event.php”
ここのファイルを編集。

$words = explode( ‘ ‘, $content );
if ( count( $words ) > 25 ) {
$this->post->post_excerpt = implode(
‘ ‘,
array_slice( $words, 0, 25 )
) . ‘ […]’;

こうなっている部分、25単語以降を省略するという設定なのか、日本語だと25文章となるので、25の部分を1とか2にしてしまいます。
これでポスター表示にしてもコンテンツ内の文章がぜ~んぶ出ないで済みます。

ここ2日悩んでいたのでよかった。。

よくよく探したらTime.lyのフォーラムに載っていました。

Change excerpt length?

無事解決★

2015.11.6追記
しばらくぶりにこの作業をしようとしたら大幅なバージョンアップにより、このファイルが無くなってました。
今はテーマファイル内のfunctions.phpで変更できました。

/* Changed excerpt length to 2 words*/
function my_excerpt_length($length) {
return 2;
}
add_filter(‘excerpt_length’, ‘my_excerpt_length’);

こんな感じで大幅に減らすとちゃんと省略されました。

Leave a Reply

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