月別アーカイブ: 2014年8月

【PHP】文字列に空白を足したい

文字列の空白を除去する処理は多いけど、空白を足すときがなかなかうまくいかない。

いろいろ試した結果、なんとか以下の方法でうまくいった。

タイトルを取得して変数に入れる

投稿によって違うタイトル文字の長さを一定にしたい
このまま文字数をカウントして処理しようとすると、どうにも上手くいかないので、文字列をSJISからUTF-8に変換して数えることに。

この $aaaが20以下なら、タイトルに改行をたして、さらに半角の空白を足した

これで望む結果が得られました

 

get_post のorderby rand、ランダム順がきかない時の対処

get_post random and order by not working

上記にて解決

orderby が効かない時は、プラグインのpost orderとコンフリクトしている可能性があり。

この、フィルターをはずすを記述したら、見事orderby=rand が効くようになりました

カスタムフィールドの値を変数で取得する

$meta_values= get_post_meta($post_id, $key, $single);

$post_id
データを取得する投稿のIDを指定。表示中の投稿を指定するなら $post->ID

$key
表示したいカスタムフィールドに入れた名前

$single
trueかfalseを指定。
falseで配列でデータを出力する。trueで指定されたフィールドの”値”の1つを文字列で出力。

よく使う例でいえば、
$hoge= get_post_meta($post->ID, ‘hoge’, true);
という使い方。

lightbox系プラグインが動かない

プラグインを追加していくと、lightbox系のプラグインが動かなくなることがよくあります。

以前は、Lightbox Plus ColorBox   を使っていて、メイン画像のスライダーとも競合せず使い勝手がよかったのですが、新しいサイトを構築する際にLightbox Plus ColorBox がどうしても動かない。

環境は、Wordpress3.9.1 + Lightbox Plus ColorBox 2.7
他にbxsliderを入れていたのを外し、あらゆる機能も外してみたがどうにも動かない。

次にFancy Boxを入れてみたがこれも動かず。
最後に、FancyBox for WordPress で動いた。
キーになったのは、このプラグインに搭載されている「プラグイン内のjQueryロードをOFFにする」という機能のよう。
こちらの記事を参考に設定したら見事動きました。

Fancybox for WordPress の設定変更

IE8では画像に枠線がついて表示されてしまう

IE8で起こる現象で、しかも全ての画像の枠線が表示されるわけでもない。

【解決】 スタイルシートに以下を追記する。

画像に枠線をつけることはまずないので、デフォルトで入れといたほうがいいです