iPhoneとかMac bookとかで一度表示された画像が数秒で消えてしまう現象

つくったサイトがすぐに画像が消えてしまうと言われ、初めて気づいたバグ・・。
日本語で調べてもなかなか答が見つかりませんでした。

原因はretinaディスプレイで画像がきれいに表示されるためにそもそも入っていたスクリプトのコンフリクトでした。
retina.js
コイツだったっぽい。

http://stackoverflow.com/questions/21440559/simpleimage-php-images-disappearing-on-iphone-ipad

ここに、さらっと答が書いてありました。
読み込みをしなくしたらおかしな現象はなくなりましたw

こんな現象になっている人、あまりいないと思うけど、一応覚え書きとして保存。

ACFとqTranslateのコンフリクト回避のおぼえがき

日本語と英語のサイトを構築する時によく使うのがqTranslateというプラグイン。
一つの投稿に対してマルチランゲージでデータを作れるので便利なのですが、もう一つ便利に使っているのがAdvanced Custom Fields

クライアントが簡単にデータを更新できるように作ることが多いので、今回の案件ももちろん使おうとしていましたが、なぜか設定した項目が管理画面で表示されない。
もろもろ調べたところ、どうやらコンフリクトがあるらしく、コードを書き換えないと動かないと。。
ただ、そうなるとプラグインがアップデートされた時にまた上書きされてしまう可能性もあるので、悩んでいたタイミングでバッチリのパッチプラグインがでました。

http://wordpress.org/plugins/acf-qtranslate/developers/
その名も「ACF qTranslate」。
これを使ったらバッチリ動くようになりました。
多分、ACFか、qTranslateのどちらかがアップデートされたら解消されるとは思うけど、本当に助かりました・・。
現時点で最新版のWPと最新版のプラグインの環境で動きます。

Advanced Custom Fieldsでフィルター&ソートのおぼえがき。

毎度毎度このAdvanced Custom Fieldsプラグインにはお世話になってるのですが、久しぶりにハマったのでメモ。

クライアントのサイトで、西暦、日付、タイトルの一覧を作る必要があって、それを西暦ごとに別々に一覧を用意し、日付でソートしたかったんだけど、なんでか思ったとおりにソートされず、、数時間悩みました。

表示させるページはcategory.phpなので、データの中身自体はcontent.phpで、loopさせることになります。
一覧させるのでtableかdlで囲うので今回は気分でtableつかいました。
content.phpの中身はこんなかんじ。loopするので<table></table>の部分だけcategory.phpに書きます。

<tr>
	<th><?php $date = date_create(''.get_field('日付の変数名').'');
	 echo date_format($date,'Y/m/d'); ?></th>
	<td><a href="<?php the_field('link_url',$post_id); ?>" target="_blank">
	<?php the_title(); ?></a></td>
</tr>

ここは普通にACFの使い方でOKなのだけど、これだけだとズラズラっと全部がでちゃうので、年号ごとにブロックで表示できるようにしたかったわけです。

気分的にはまず年号でフィルタした後に並び替えをするものだと思ってたので、そう書いていましたが、見事に逆でした。考え方としては並び替えた後に年号でフィルタするようです。なんだか処理が重そうですが、そうみたいです。

無事に出力できたコードはこちら。

<?php
/* Start the Loop */
// args
$args = array(
	'meta_key'		=> '日付の変数',
	'order'			=> 'DESC',
	'showposts'		=> 30,
	'orderby'		=> 'meta_value_num',
	'meta_query'	=> array(
		'relation'	=> 'AND',
		array(
			'key'		=> '西暦の変数名',
			'value'		=> '2013'
		)
	)
 );
// query
$wp_query = new WP_Query( $args );
while ( have_posts() ) : the_post();
	get_template_part( 'content', 'cat' );
endwhile;
twentytwelve_content_nav( 'nav-below' );
?>

meta_keyで日付の変数を入れて、orderで並び替え、showpostsで30件を指定。
relationでANDの指定をして、追加の条件を入れます。試してないけど、”AND”じゃなくて、”OR”にすれば複数条件での指定もできるはず。

keyに西暦の変数名を入れたらvalueで取り出したい値(今回は2013年を取り出したかったので、ACFで西暦のフィールドに2013とはいっているもの。)を指定します。
その下はループのデータを引っ張る部分なので、特に変更なし。今回はcontent-cat.phpというファイルからデータを引っ張ってきているので、「get_template_part( ‘content’, ‘cat’ );」としてるだけ。

本当は、西暦も入れた状態で普通に一覧をすればこんなこと必要ないけど細かいデザインの問題で、今回はこの方法。

ここしばらくずーっとのpower tune★

sakanaction
仕事中も、運転中も、ここしばらくサカナクション浸りの半年、、。
なぜ今年5月の幕張メッセの前に気づかなかったのか、たまたま何か新しい音楽でもiTunesで買おうと思いついて、あぁ、そういえばCMで耳に残ってる曲があったなーとおもって買ったのがサカナクションの最新アルバム、「sakanaction」。

気持ち悪いことに同時期にうちの妹も買ってハマっていたと。

そこからは彼女がwowowで録画したライブを見て、すっかりはまりこみ。
日本人のバンドでこれだけライブに行きたくなったのはほんとーに久しぶりなので、2014年のライブが決まった時にはガッツポーズで行く気マンマン!
だけど、チケットが取れない。DVD買って先行で申し込んでも取れない。。

ですが、、何とか1/23-24、3/12のZepp Tokyo確保。ほんとにほんとにうれしい。
体調しっかり整えて、踊るぜ。

なぜか忙しくてね~。

夏休み前からしばらくず~っと忙しくて、ゆっくりと作業の忘備録を残すこともままならず、、
新しいお仕事の時に、あのスクリプトは確かあそこで使ったっけ、、、と過去のサイトをほじくり返すばかり。
気がつけば夏はとっくに終わって、このまま年末に突入しそうな気配です。

ちびとももう少し沢山遊んであげたかったのだけど、、また年明けに休みを取るのでもう少し待ってちょうだい、、

そういえば、6月に行った大島。私達が泊まった宿のすぐそばが崩れてしまったようで、朝のお散歩で歩いたところも大変なことになっていました。幸い、ホテルは無事だったみたいだけど、お世話になった方々のことを考えると、、
また絶対に行きますので、早い復興を祈るばかりです。

こーんなにきれいな場所なのに。。

IMG_4983

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’);

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

不正ログイン

http://wordpress.org/plugins/crazy-bone/

ここのところ、wordpressへの不正ログインの情報を良く聞くのと、クライアントのサイトへの不正ログインがあったため、ここのサイトもちょっとセキュリティを強力にしてみました。
インストールしたプラグインはCrazy Boneというもの。
インストールすると管理画面の「ユーザー」のなかに「ログイン履歴」というメニューができます。
あとは放っておくだけw。

あ、もちろん、ログインIDをそのまま「admin」にしておくのはNGです!
デフォルトが「admin」なので、パスワード破られたら終わりなのでね。

で、しばらくしたら世界中いろんな場所から突っつかれてました。笑

shot 2013-08-07 7.05.14 PM

中国・ロシアはまだしも、、カザフスタン、ラトビア、、
しかもnetscape 3.0の環境からというのがおそろし。
多分IP偽装だとは思うけど、知らない間に自分のサイトがつっつかれてるもんだね。