[wp] wordpressを使う際に必ず追記するCSSのクラス設定
既存テンプレートを使わずにゼロからテンプレートを構築した場合は デフォルトでも必要なクラス設定を入れましょう。
うちで主に必要になるのは、アップした画像の回り込みやセンター寄せ等のスタイルと、プラグイン「wp-pagenavi」用のスタイルです。
アップした画像の回り込みやセンター寄せ等のスタイル
(※marginの値は適所変更してください)
/* ================================================= */ /* wordpress UPLOAD IMG */ /* ================================================= */ img.centered { display: block; clear: both; margin: 0.25em auto 1.5em; /*margin: 10px auto;*/ } img.aligncenter { display: block; clear: both; margin: 0.25em auto 1.5em; /*margin: 10px auto;*/ } img.alignleft { float: left; clear: both; margin: 0.25em 1.5em 1.5em 0; /*margin: 0 10px 5px 0;*/ } img.alignright { float: right; clear: both; margin: 0.25em 0 1.5em 1.5em; /*margin: 0 0 5px 10px;*/ }
プラグイン「wp-pagenavi」用のスタイル
(※colorやmargin/paddingの値は適所変更してください)
/* ================================================= */ /* wordpress Plugin [wp-pagenavi] */ /* ================================================= */ /*#post p{padding-bottom:20px;}*/ .navigation { display: block; text-align: center; margin-bottom: 30px; font-size:12px; } .wp-pagenavi { clear: both; } .wp-pagenavi a, .wp-pagenavi span { text-decoration: none; border:0px solid #FFFFFF; padding: 3px 5px; margin: 2px; } .wp-pagenavi a:hover, .wp-pagenavi span.current { color:#fff font-weight:bold; border-radius: 2px; -webkit-border-radius: 2px; -moz-border-radius: 2px; } .wp-pagenavi span.current { border:1px solid #4A872A; background:#4A872A; border-radius: 2px; -webkit-border-radius: 2px; -moz-border-radius: 2px; color:#fff; } .wp-pagenavi .pages { display: none; }]
[wp] 管理画面にログインしている時にだけ表示させる
テストしているときによく使うのでこの機会にメモ。
<?php if (!is_user_logged_in()) { }else{ ?> ここに表示したい内容。 <?php } ?>
[ec-cube] 通常価格と販売価格が違う場合は「○○%OFF」の表示する

毎度のことながらコアファイルはイジらずにテンプレートだけで処理します。
基本的になロジックは
■販売価格と通常価格が同じ金額であれば、
通常価格は表示せず、販売価格だけの表示になります。
■販売価格と通常価格が違う金額であれば、
打ち消し線を入れた通常価格と「○○%OFF」を表示させます。
ついでに、販売価格も赤字のボールド文字にします。
「○○%OFF」の表記は
『100 – (販売価格 ÷ 通常価格 × 100) =○○%OFF』(※小数点以下は四捨五入で切り上げ)
という計算で自動で出しています。
やってみる
/data/Smarty/templates/default/products/detail.tpl
の価格表示部分だけ抜粋します。
<!--{if $arrProduct.price01_min == $arrProduct.price02_min}--> <!--{if $arrProduct.price01_max > 0}--> <tr> <td style="white-space: nowrap;width:1%;">販売価格: </td> <td> <!-- 販売価格 --> <!--{if $arrProduct.price02_min == $arrProduct.price02_max}--> <!--{$arrProduct.price02_min|number_format}-->円 (税込<!--{$arrProduct.price02_min|sfPreTax:$arrSiteInfo.tax:$arrSiteInfo.tax_rule|number_format}-->円) <!--{else}--> <!--{$arrProduct.price02_min|sfPreTax:$arrSiteInfo.tax:$arrSiteInfo.tax_rule|number_format}-->〜<!--{$arrProduct.price02_max|sfPreTax:$arrSiteInfo.tax:$arrSiteInfo.tax_rule|number_format}-->円 <!--{/if}--> <!-- /販売価格 --> </td> </tr> <!--{/if}--> <!--{else}--> <tr> <td style="white-space: nowrap;width:1%;line-height: 180%;vertical-align:top;">通常価格 </td> <td style="line-height: 180%;"> <!--{php}--> //OFF値表示の計算 $arrProduct = $this->get_template_vars('arrProduct'); $OffPrice1 = "" . 100-($arrProduct[price02_min]/$arrProduct[price01_min]*100) . ""; $OffPrice2 = "" . 100-($arrProduct[price02_max]/$arrProduct[price01_max]*100) . ""; $this->assign('OffPrice1',$OffPrice1); $this->assign('OffPrice2',$OffPrice2); <!--{/php}--> <!-- 通常価格 --> <!--{if $arrProduct.price01_min == $arrProduct.price01_max}--> <s><!--{$arrProduct.price01_min|number_format}--></s>円 <span style="color:#993300;font-weight:bold;">▼<!--{$OffPrice1|round:0}-->% OFF</span> <!--{else}--> <s><!--{$arrProduct.price01_min|number_format}-->〜<!--{$arrProduct.price01_max|number_format}--></s>円<br /> <span style="color:#993300;font-weight:bold;">▼Max<!--{$OffPrice2|round:0}-->% OFF</span> <!--{/if}--> <!-- /通常価格 --> </td> </tr> <!--{if $arrProduct.price01_max > 0}--> <tr> <td style="white-space: nowrap;width:1%;">販売価格: </td> <td> <!-- 販売価格 --> <!--{if $arrProduct.price02_min == $arrProduct.price02_max}--> <span style="color:#993300;font-weight:bold;font-size:12px;"><!--{$arrProduct.price02_min|number_format}-->円</span> (税込<!--{$arrProduct.price02_min|sfPreTax:$arrSiteInfo.tax:$arrSiteInfo.tax_rule|number_format}-->円) <!--{else}--> <span style="color:#993300;font-weight:bold;font-size:12px;"><!--{$arrProduct.price02_min|sfPreTax:$arrSiteInfo.tax:$arrSiteInfo.tax_rule|number_format}-->〜<!--{$arrProduct.price02_max|sfPreTax:$arrSiteInfo.tax:$arrSiteInfo.tax_rule|number_format}-->円</span> <!--{/if}--> <!-- /販売価格 --> </td> </tr> <!--{/if}--> <!--{/if}-->
[wp] ループ中の記事数を取得し、特定の件数ごとに処理する。
↓ちょっとした事ですが、これはとても便利です!
出典:KH-WEBLOG / http://www.kxh-web.com/web/wp/628[css] めも
.mb01 { margin-bottom:01px !important;} .mb02 { margin-bottom:02px !important;} .mb03 { margin-bottom:03px !important;} .mb05 { margin-bottom:05px !important;} .mb08 { margin-bottom:08px !important;} .mb10 { margin-bottom:10px !important;} .mb12 { margin-bottom:12px !important;} .mb15 { margin-bottom:15px !important;} .mb20 { margin-bottom:20px !important;} .mb25 { margin-bottom:25px !important;} .mb30 { margin-bottom:30px !important;} .mb35 { margin-bottom:35px !important;} .mb40 { margin-bottom:40px !important;} .mb45 { margin-bottom:45px !important;} .mb50 { margin-bottom:50px !important;} .mb80 { margin-bottom:80px !important;} .mb100{ margin-bottom:100px !important;} .mt01 { margin-top:01px !important;} .mt02 { margin-top:02px !important;} .mt03 { margin-top:03px !important;} .mt05 { margin-top:05px !important;} .mt08 { margin-top:08px !important;} .mt10 { margin-top:10px !important;} .mt12 { margin-top:12px !important;} .mt15 { margin-top:15px !important;} .mt20 { margin-top:20px !important;} .mt25 { margin-top:25px !important;} .mt30 { margin-top:30px !important;} .mt35 { margin-top:35px !important;} .mt40 { margin-top:40px !important;} .mt45 { margin-top:45px !important;} .mt50 { margin-top:50px !important;} .mt80 { margin-top:80px !important;} .mt100{ margin-top:100px !important;} .pb01 { padding-bottom:01px !important;} .pb02 { padding-bottom:02px !important;} .pb03 { padding-bottom:03px !important;} .pb05 { padding-bottom:05px !important;} .pb08 { padding-bottom:08px !important;} .pb10 { padding-bottom:10px !important;} .pb12 { padding-bottom:10px !important;} .pb15 { padding-bottom:15px !important;} .pb20 { padding-bottom:20px !important;} .pb25 { padding-bottom:25px !important;} .pb30 { padding-bottom:30px !important;} .pb35 { padding-bottom:35px !important;} .pb40 { padding-bottom:40px !important;} .pb45 { padding-bottom:45px !important;} .pb50 { padding-bottom:50px !important;} .pb80 { padding-bottom:80px !important;} .pb100{ padding-bottom:100px !important;}
[php] 数値で8桁の乱数を100個生成する
数値で8桁の乱数を100個生成する
<?php for ($i = 0 ; $i < 100 ; $i++){ $pw = mt_rand(0,99999999); $pw2 = sprintf("%08d",$pw); echo "" . $pw2 . "<br />"; } ?>
[php] 簡単なコンテンツ公開タイマー、その2

公開日時を過ぎてしまう
厳密な時間指定でのコンテンツ公開で“うっかり忘れ”を防止する保険、という意味で有用。
アクセス毎に処理が走るので公開時間を過ぎた時点で、このスクリプトは排してしまった方がいいかも。
時間を上書きして確認するには
■現在時間を操作する
http://○○○○.co.jp/index.php?nt=201205230000
■開始設定時間を操作する
http://○○○○.co.jp/index.php?st=201208241455
■終了設定時間を操作する
http://○○○○.co.jp/index.php?et=201312300000
ソース
<?php //data関数だけだと9時間のズレが生じる場合があるので date_default_timezone_set('Asia/Tokyo'); if ($_GET[nt] != "") { $now_time = $_GET[nt]; }else{ //現在時間 $now_time = date('YmdHi'); } if ($_GET[st] != "") { $start_time = $_GET[st]; }else{ //開始時間をセット $start_time = "201210150000"; } if ($_GET[et] != "") { $end_time = $_GET[et]; }else{ //終了時間をセット $end_time = "201211302359"; } ?> <?php //echo "今:" . $now_time . "<br />"; //echo "始:" . $start_time . "<br />"; //echo "終:" . $end_time . "<br />"; if (($now_time > $start_time) and ($now_time < $end_time)) { ?> ここに期間中掲載したいバナーなどを入れる。 <?php } ?>
[phpMyAdmin] 空のセルを抽出する
「検索」から
REGEXP = 正規表現で〜が入っていれば
NOT REGEXP = 正規表現で〜が入っていなければ
実用編
小難しい正規表現を使わなくても、全角の判定なら以下である程度いけます。
-
全角記号
[、-◯] -
全角かな・漢字
[ぁ-ヶ]|[亜-煕](※Shift_JISの場合) -
全角かな・漢字
[ぁ-ヶ]|[一-龠](※UTF-8 の場合)
[wp] カテゴリ一覧の表示:特定のカテゴリを間引きつつ特定の文字列も削除しつつ…
ソース
<ol> <?php //↓カテゴリはID順序にし、特定のカテゴリID「1,9,10,11,13,15,17,21」を非表示、 $categorys = get_categories('orderby=id&hide_empty=0&exclude=1,9,10,11,13,15,17,21'); foreach ($categorys as $category) { //↓特定の文字列を削って表示させたい場合に。 $title = str_replace( "ここに特定の文字列", "",$category->name); ?> <li><a href="<?php echo get_category_link($category->term_id); ?>"><?php echo $title; ?>(<?php echo $category->count; ?>)</a></li> <?php } ?> </ol>
参考
・関数リファレンス/get categories – WordPress Codex 日本語版
・get_categories:WordPress私的マニュアル
[sql] SQL文で特定のフィールド(カラム)内の文字列を一括置換する【MySQL】
SQL文
UPDATE `テーブル名` SET フィールド名A=REPLACE (フィールド名A,"置換前の文字列","置換後の文字列");
記述例
UPDATE `dtb_customer` SET uname=REPLACE (uname,"山田","鈴木");