2011年2月13日日曜日

[WP]get_postsから取ったpost_dateのフォーマットを変える

結論から言いますと、

$mydate = mysql2date('Y-m-d', $post->post_date);

でいけます。(※$postにはget_postからループ内で取得する等した1記事のクラスを代入)

 MTは独自タグを駆使すればかなり幅広い事ができますが、
ワードプレスはそれに当たる出力用クラスよりも関数でカスタマイズするのが良いですね。

[参考]

2011年2月12日土曜日

[WP]投稿画面のカテゴリ-一覧をラジオボタンにしてみた

結論から言いますと、コア弄りました。(※WPバージョン3.0.5)
検索して調べて出てきた方法だと出来なかったのです。

編集したデータはこちら↓
[WPインストールDIR]/wp-admin/includes/template.php

■「全カテゴリー」タブ内
Line:184付近のクラス「Walker_Category_Checklist」内、Line:209付近「$output .=~」の「type="checkbox"」を「type="radio"」に。

■「よく使うもの」タブ内
Line:316付近の関数「wp_popular_terms_checklist」内、Line:343付近「<input~」の「type="checkbox"」を「type="radio"」に。(ここは何故かPHPではなくHTML生打ちでした・・・)

意外と需要がある要件だと思うものの、情報を探すのに結構時間かかりました。
出来ればコアを弄らずになんとかしたかったですが、JSで何とかしようとしてもダメでした。

そもそも、主観ではWPに関わらず、CMSとして扱う場合に記事投稿で同階層の複数カテゴリー選択ってあまりする場面が無い様に思えます。親子関係が保てさえすれば良い事の方が多い。
ブログではよくある事かもしれませんし、WPは基本的にはブログツールなので仕方が無いと思いますが、切り替えが出来たら嬉しいですね。

それと、WPってマイナーチェンジ時に結構コアの構成変えてたりします?
検索して出てくる数ヶ月前の情報とファイルや内容の構成が一致しない事が多い気がするのは気のせいか。

[PHP]ヒアドキュメントの記法

結論から言いますと、

echo <<<__HTML__
~ソース記述~
__HTML__;

です。

Perlとは「<」の数が微妙に違ったりするでややこしい。

無くても何とかなる物でもありますし、自分があまり使わないという事もありますが、あれば便利なのでちゃんと覚えておこうかと。

2011年2月10日木曜日

[CSS]CSSのみでロールオーバー効果

いつも見直すのが面倒なのでメモ。
以前に元同僚に教えてもらった方法です。

a:hover img { opacity:0.7; filter:alpha(opacity=70); -ms-filter: "alpha( opacity=70 )" }

IEもいけますよね。
通常時とオーバー時の画像を並べてくっつけた画像を用意してbackgroundに指定した画像のpositionをズラすという手法が良く使われますが、更新の手間が大きくなるので正直なところ余り効率的ではないと感じていましたが、これは楽だし効率的、且つ、実用的です。

デメリットとしては、背景が白である事が前提になります。

今はこれか、普通に2枚に分けた画像をJSで操作するのが効率、実用性ともに良いかな~と思う次第です。

2010年12月30日木曜日

[PHP] 「Cannot redeclare」でハマる

「Cannot redeclare」というエラーでハマりました。

下記の構成のデータで起こったのですが、簡単な関数を作成して再現しようとしても再現できず、結局原因は分からず。

FuncBの定義をFuncAの外に出す事で回避しました。

■表示用ページPHPデータindex.php
<?php require_once('hoge.php') ?>

■require_onceで呼び出している外部PHPデータhoge.php
<?php
$a = "A";
$b = "B";
function FuncA($a, $b){
    $c = "C";
    $d = "D";
    function FuncB($c, $d){
        &#65374;実行処理&#65374;
    }
    FuncB($c, $d);
}
FuncB($a, $b);
?>

構成は上記と通りですが、実際には多数の処理が入っています。
しかし、ループ内でもなければ、同じ名前で二度定義もしていない、require_once文もべた書きで二重にはなっていない、include文にしても変化無し・・・と、検索して調べた原因には全て該当せず。

しかも、上記の通りの簡単な関数では再現できず・・・時間が無いのでここまで。
残念。

[PHP] 「It is not safe to rely on the system's timezone settings.」でハマる

「It is not safe to rely on the system's timezone settings.」というエラーでハマりましたが、解決。

結論からいいますと、php.iniの「;date.timezone =」を「date.timezone = "Asia/Tokyo"」に変更。
(コメント化を解除して、"Asia/Tokyo"を追加です。)

これまで何度もPHPのインストールは行っていますが、このエラーは今回初です。
最近のバージョンアップで何か変わった?
インストール時に何か設定見落としたかなぁ・・・。

ググって出てきた以下のサイトの通りでした。ありがとうございます。

[参考]
It is not safe to rely on the system's timezone settings.: 気まぐれ底辺プログラマ -

2010年10月22日金曜日

PowerPoint 2003で、1つのプレゼンテーションで複数のスライドマスタを使用する

結論から言いますと、以下の通りです。

1.[表示]>[マスタ]>[スライドマスタ]。
2.左サイドエリア内で右クリックし、[新しいスライドマスタ]で、スライドマスタを複数作成。
3.作成したスライドマスタを右クリックして[マスタの保護]にチェックを入れる。
4.[マスタ表示を閉じる]。
5.左サイドの「スライド」でスライドを選択。
6.右サイド上部のプルダウンで[スライドのデザイン]をクリックし、表示をデザインテンプレートに。
7.テンプレート欄に作成したマスタが表示されているので、右クリックして[選択したスライドに適用]。

以上。

「2.」に関しては、スライドマスタが「複数あればいい」という事で、実際にはある程度形を保つために、元になるマスタをコピー&ペーストで複製した方がいいかも。

今になってパワポが便利に思えて来ています。