PHPプログラマのためのWordPressテーマ

皆さん、WordPressテーマってどうやって作ってます?デフォルトの「Twenty Thirteen」とかをカスタマイズしてますかね。それとも、自分で元ネタを持っていたりしますか?

こういうやり方もOKかも。

1.WordPressの基本テーマ
・基本的なテーマを自動で作成してくれるサイトがあります。
m2013110201

・このテーマを選択しても、ほんとに基本的なものしか表示しない。
m2013110202

2.レイアウト、CSSフレームワーク
・これに、シンプルな960Gridを導入する。
m2013110203

・ダウンロードしたファイルを解凍し、code-css内の「960.css」をWordPressテーマにアップして、founction.phpでcssを読み込む。

wp_enqueue_style( 'iaa-style', get_template_directory_uri() . '/960.css' );

※960gridの使い方はここを参考に。
※これでレイアウトは楽にできます。あとはメニュー、ウィジット、プラグイン、PHPでごりごりいじって必要なものを表示する。
※これ以上の色付けたり画像作ったりはプログラマでは無理なので、デザイナーにやってもらいましょう。

以上です。

wp_nav_menuにて別ページで開く(target=_blank)

WordPressのメニュー表示、wp_nav_menuがあるけど、これで作られたメニューはクリックしても別ページでは開かないんだよね。

マニュアル見ても、”target=_blank”などのパラメタはない。
調べてみると、力技がありました。

$footerRight = wp_nav_menu(
  array('theme_location'=>'footer-right', 'echo'=>false));
echo str_replace('<a',"<a target='_blank'", $footerRight);

あっ・・・そうなのね。
以上です。

WordPress3.7 自動バックグラウンド更新の恩恵

久々の投稿です。

「毎月1回は投稿するぞ!」という決意むなしく今年の7月で途切れてしまい、2007年5月から連続投稿(ところどころ途切れてるし・・・)も終わってしまいました。

最近、気持ちも持ち直し決意も新たに投稿を始めます。しかし3か月間サボっている間にアクセス数も落ちてしまった・・・。

さて本題です。

WordPressも着実にバージョンが上がり3.7になりました。今回の目玉は、何と言っても「自動バックグラウンド更新」ですね。WordPressは便利なんだけど「バージョンアップが頻繁で・・・」と思う方々は多かったのではないでしょうか。WordPress本体、プラグイン、テーマと結構頻繁にバージョンアップがあり、管理者は定期的にログインする必要がありました。

少し前までWordPress本体のバージョンアップは、バックアップ(コアファイル、データベース)してから行うことが推奨されていました。「それって、すげー面倒」と思われた方は多かったのでは。

でもバージョンをアップして問題が起こったことはそれほどないので、バックアップ取らずに「えい!」とやっちまった方々もいたのでは?(私も数回やっちまった経験ありです。特にプラグイン関連)

自動バックグラウンド更新ができたということは、「安心してバージョンアップができるよー」という事なんですかね。設定によって、バージョンアップも細かく制御できるようですが。

これからは楽になるなー。・・・っていうか、CMS管理の名目でお客様から管理費用を頂けるのか?恩恵があるようなないような。いや~そんなこと機械にまかせてさー、もっと付加価値のあるところで商売しなよーってことでしょう。

※このテーマも手をいれていたんですが、先ほどバージョンアップしたらあっさり無くなってしまったのでした。バックアップあったかな?

※アップデートがあり得る他人のテーマの場合は、直接テーマに手を入れるんじゃなくて、可能であれば子テーマや独自にプラグインを作るべきだね。激しく勉強させられました。

CakePHP2 連想配列をJavaScriptに渡す

CakePHP2ネタという訳ではないですが、PHPの配列もしくは連想配列をJavaScriptに渡すやり方です。

■力技
ネットでは、PHPの配列を「カンマ区切り文字列」にしてJavaScriptに渡し、JavaScript側でカンマにてsplitするという力技が紹介されてました。(ちょっと古い記事かもしれませんが・・・)

// PHP in Server
$str = join(",", $list);

// JavaScript in Client
var js_str = "<?= $str ?>";
var list = js_str.split(",");

■JSONで
JSONデータで渡した方が、スマートだと思います。これだと、連想配列もすんなり渡せます。例えば、こんな連想配列でも、PHP側でJSON文字列にエンコードして・・。

$date = array(
  (int) 8 => '2013-07-25',
  (int) 12 => '2013-07-26',
  (int) 13 => '2013-07-31'
)
$json_string = json_encode($date);

JSON文字列をJavaScriptで受け取って、paraseJSONでJSON配列にすると良いのではないでしょうか。

$(function() {
  var json_string = '<?= $json_string ?>';
  var datelist = $.parseJSON(json_string);
   
});

※ちなみにクォーテーション部分の「’」は、「”」だとエラーになります。JSONコードの要素がダブルクォーテーションで囲み、外側はシングルクォーテーションにするのがJSONの書式だからみたいです。

'<?= $json_string ?>'
    ↓
'{"8":"2013-07-25","12":"2013-07-26","13":"2013-07-31"}'

家のお手伝いと仕事の関係

昔は、子供は家のお手伝いをするのが当たり前でしたね。でも、最近の子供は自分が中心で殿様気分の子が多い。

私を含め育て方が悪いのが大きな要因ですが、「お手伝いしたか?」によっては将来的に仕事の見方・考え方にも影響があるんじゃないかと思うようになった。

写真
仕事の見方・考え方って二通りあると思う。
1.自己実現。自分のキャリアアップなど。
2.他人の役に立つ。社会貢献など。

どちらも、正しいと思う。表と裏の関係かな。

子供の頃から家のお手伝いをすると、2が養われるんじゃないかな。1ばかり強くても、結構、仕事を続ける上で辛いものがある。なんて言うのか、清々しさと感動がない。

子供のころから親のために気持ちよく労働をする習慣を身に着けると、大きくなって他人のためにも素直に仕事できるんじゃないかな。

勉強よりお手伝いを優先させるべきだと思うよ。その方が、将来的に子供のためになる。ほんと昔の教育はすごいね。見直す必要があるよ。

※ちなみに今回の記事で、このブログの200回目の記念すべき投稿です!
※適当な写真がなかったので、子供とベランダで七輪でバーベキューした時の写真を掲載しました。七輪最高、ファイヤー!