フォノクラフト株式会社:作業メモや備忘録など » PHP http://121.50.42.205/note 作業メモや備忘録など... Fri, 05 Jul 2013 05:17:27 +0000 ja hourly 1 http://wordpress.org/?v=3.1.3 [wp] 出力されたURLを相対パスにする(個別に)。 http://121.50.42.205/note/wp-url%e3%82%92%e7%9b%b8%e5%af%be%e3%83%91%e3%82%b9%e3%81%ab%e3%81%99%e3%82%8b%e3%80%82_1839 http://121.50.42.205/note/wp-url%e3%82%92%e7%9b%b8%e5%af%be%e3%83%91%e3%82%b9%e3%81%ab%e3%81%99%e3%82%8b%e3%80%82_1839#comments Fri, 05 Jul 2013 04:49:50 +0000 admin http://phono.co.jp/note/?p=1839 SSL(https)領域と平行した構築の場合、WP側から出力されるURLは「http://〜…」 または「https://〜…」と固定になるのでいろいろと具合が悪ことも起こる。そんな時は「wp_make_link_relative」で囲ってあげる。

記述例

 $link_url = "http://1234567890.co.jp/common/img/logo.gif"
echo "<a href=".wp_make_link_relative( $link_url ).">○○○○</a>";

出力結果

http://1234567890.co.jp/common/img/logo.gif

/common/img/logo.gif

備考

functions.phpを使い一括で相対パスにする事も出来るが、<img>のパスはこれで良いかもしれないが、SSL領域から非SSLに戻す<a>パス等もあるので、少々面倒に思うが個別にwp_make_link_relativeで処理してあげる方がよい気がする。]]>
http://121.50.42.205/note/wp-url%e3%82%92%e7%9b%b8%e5%af%be%e3%83%91%e3%82%b9%e3%81%ab%e3%81%99%e3%82%8b%e3%80%82_1839/feed 0
[wp] functions.phpで検索結果から特定のカテゴリを含めないように指定する。 http://121.50.42.205/note/wp-functions-php%e3%81%a7%e6%a4%9c%e7%b4%a2%e7%b5%90%e6%9e%9c%e3%81%8b%e3%82%89%e7%89%b9%e5%ae%9a%e3%81%ae%e3%82%ab%e3%83%86%e3%82%b4%e3%83%aa%e3%82%92%e5%90%ab%e3%82%81%e3%81%aa%e3%81%84%e3%82%88_1835 http://121.50.42.205/note/wp-functions-php%e3%81%a7%e6%a4%9c%e7%b4%a2%e7%b5%90%e6%9e%9c%e3%81%8b%e3%82%89%e7%89%b9%e5%ae%9a%e3%81%ae%e3%82%ab%e3%83%86%e3%82%b4%e3%83%aa%e3%82%92%e5%90%ab%e3%82%81%e3%81%aa%e3%81%84%e3%82%88_1835#comments Fri, 28 Jun 2013 03:52:03 +0000 admin http://phono.co.jp/note/?p=1835 functions.phpに記述する方法は下記。
これで検索結果からカテゴリID 1/2/3/4/5/6 は除外されるようになります。

function SearchExcludeCategoryFilter($query) {
    if ($query->is_search) { $query->set('cat','1,2,3,4,5,6'); }
    return $query;
}
 add_filter('pre_get_posts','SearchExcludeCategoryFilter');
]]>
http://121.50.42.205/note/wp-functions-php%e3%81%a7%e6%a4%9c%e7%b4%a2%e7%b5%90%e6%9e%9c%e3%81%8b%e3%82%89%e7%89%b9%e5%ae%9a%e3%81%ae%e3%82%ab%e3%83%86%e3%82%b4%e3%83%aa%e3%82%92%e5%90%ab%e3%82%81%e3%81%aa%e3%81%84%e3%82%88_1835/feed 0
[wp] query_postsで検索結果から特定のカテゴリを含めないように指定する。 http://121.50.42.205/note/wp-%e6%a4%9c%e7%b4%a2%e7%b5%90%e6%9e%9c%e3%81%8b%e3%82%89%e7%89%b9%e5%ae%9a%e3%81%ae%e3%82%ab%e3%83%86%e3%82%b4%e3%83%aa%e3%82%92%e5%90%ab%e3%82%81%e3%81%aa%e3%81%84%e3%82%88%e3%81%86%e3%81%ab_1826 http://121.50.42.205/note/wp-%e6%a4%9c%e7%b4%a2%e7%b5%90%e6%9e%9c%e3%81%8b%e3%82%89%e7%89%b9%e5%ae%9a%e3%81%ae%e3%82%ab%e3%83%86%e3%82%b4%e3%83%aa%e3%82%92%e5%90%ab%e3%82%81%e3%81%aa%e3%81%84%e3%82%88%e3%81%86%e3%81%ab_1826#comments Fri, 28 Jun 2013 03:33:25 +0000 admin http://phono.co.jp/note/?p=1826 Magic Fieldsを使っていると必要な場面が多々あるのです。

Magic Fieldsを使って特例のエリアの更新をカテゴリをキーにしてその中の投稿で行う場合があるので、検索に引っ掛けたくないカテゴリや投稿が出てくる。そんな時。

記述方法

『category__not_in』のarrayに排除したいカテゴリIDを列挙(例:1,2,3,4)
『post__not_in』のarrayに排除したい投稿IDを列挙(例:5,6,7)

<?php query_posts(array('category__not_in' => array(1,2,3,4),'post__not_in' => array(5,6,7))); ?>

記述例

『posts_per_page』に表示しさせたい件数
『orderby』でID順か更新日順か等指定
『order』で降順/昇順を指定
『posts_per_page』に表示しさせたい件数を指定
『category__not_in』のarrayに除外したいカテゴリIDを列挙(例:1,2,3,4)
『post__not_in』のarrayに除外したい投稿IDを列挙(例:5,6,7)

<?php
//他のquery_postsが継承されてしまう為、カテゴリ指定をデフォルトに戻す
query_posts($query_string);
//『posts_per_page』に表示しさせたい件数
//『orderby』でID順か更新日順か等指定
//『order』で降順/昇順を指定
//『posts_per_page』に表示しさせたい件数
//『category__not_in』のarrayに除外したいカテゴリIDを列挙(例:1,2,3,4)
//『post__not_in』のarrayに除外したい投稿IDを列挙(例:5,6,7)
query_posts('posts_per_page=10&orderby=date&order=DESC&array('category__not_in' => array(1,2,3,4),'post__not_in' => array(5,6,7))');
?>

<?php if ( have_posts() ) : ?>
<?php while ( have_posts() ) : the_post(); ?>

	〜 ここでループ 〜

<?php endwhile; ?>
<?php else : ?>
	<p>該当する記事がありませんでした。</p>
<?php endif; ?>
<?php
wp_reset_query();//最後に「query_posts」をリセット
?>
]]>
http://121.50.42.205/note/wp-%e6%a4%9c%e7%b4%a2%e7%b5%90%e6%9e%9c%e3%81%8b%e3%82%89%e7%89%b9%e5%ae%9a%e3%81%ae%e3%82%ab%e3%83%86%e3%82%b4%e3%83%aa%e3%82%92%e5%90%ab%e3%82%81%e3%81%aa%e3%81%84%e3%82%88%e3%81%86%e3%81%ab_1826/feed 0
[php] ハイフン月日「2013-3-27」を年月日に分解 http://121.50.42.205/note/php-%e3%83%8f%e3%82%a4%e3%83%95%e3%83%b3%e6%9c%88%e6%97%a5%e3%80%8c2013-3-27%e3%80%8d%e3%82%92%e5%b9%b4%e6%9c%88%e6%97%a5%e3%81%ab%e5%88%86%e8%a7%a3_1789 http://121.50.42.205/note/php-%e3%83%8f%e3%82%a4%e3%83%95%e3%83%b3%e6%9c%88%e6%97%a5%e3%80%8c2013-3-27%e3%80%8d%e3%82%92%e5%b9%b4%e6%9c%88%e6%97%a5%e3%81%ab%e5%88%86%e8%a7%a3_1789#comments Tue, 26 Mar 2013 17:12:03 +0000 admin http://phono.co.jp/note/?p=1789 分解します
$ymd = "2013-3-27";
sscanf($ymd, "%d-%d-%d", $year, $month, $day);

使うときは

<?php echo $year; ?>年<?php echo $month; ?>月<?php echo $day; ?>日
]]>
http://121.50.42.205/note/php-%e3%83%8f%e3%82%a4%e3%83%95%e3%83%b3%e6%9c%88%e6%97%a5%e3%80%8c2013-3-27%e3%80%8d%e3%82%92%e5%b9%b4%e6%9c%88%e6%97%a5%e3%81%ab%e5%88%86%e8%a7%a3_1789/feed 0
[wp] アーカイブのリンクを特定のカテゴリで年別、さらに件数も出力させる。 http://121.50.42.205/note/wp-%e3%82%a2%e3%83%bc%e3%82%ab%e3%82%a4%e3%83%96%e3%81%ae%e3%83%aa%e3%83%b3%e3%82%af%e3%82%92%e5%b9%b4%e5%88%a5%e3%81%a7%e4%bb%b6%e6%95%b0%e3%82%82%e5%87%ba%e3%81%97%e3%81%a6%e6%95%b4%e5%bd%a2_1666 http://121.50.42.205/note/wp-%e3%82%a2%e3%83%bc%e3%82%ab%e3%82%a4%e3%83%96%e3%81%ae%e3%83%aa%e3%83%b3%e3%82%af%e3%82%92%e5%b9%b4%e5%88%a5%e3%81%a7%e4%bb%b6%e6%95%b0%e3%82%82%e5%87%ba%e3%81%97%e3%81%a6%e6%95%b4%e5%bd%a2_1666#comments Tue, 15 Jan 2013 06:19:40 +0000 admin http://phono.co.jp/note/?p=1666

説明

右のキャプチャの様にアーカイブのリンクを特定のカテゴリで年別で出力、さらに「1月、2月、3月….」は「January、February、March….」と変換して投稿件数も出力させるようにしてみます。
※本来 /wp-content/themes/○○○○/functions.php に追記してテンプレート側で呼び出すのが正解ですが、
 面倒なのでテンプレートファイルに直書きします。
 ですが、何ファイルにも渡って記述する際にはfunctions.phpにいれましょう。

ついでに、プラグイン『Archives for a category』を使って
wp_get_archivesの中で「cat=37」(カテゴリID37の投稿記事のみ)を使えるようにもしてみます。

このような出力実装はプラグインのみで対応できるものもありますが、直書きしたスクリプトで対応した方が表示方法のカスタマイズがし易いので、現時点ではこのやり方がベターな気がしています。(ベストではないです。)

実装

プラグインのインストール

特定のカテゴリの投稿だけ抽出したい場合にはプラグイン『Archives for a category』を使います。

  • Archives for a category
    カテゴリー別に月別アーカイブを表示できるwp_get_archivesに特定のカテゴリIDを指定出来るようになるプラグインで、
    例えば <?php wp_get_archives(‘format=option&cat=1′); ?> の様にカテゴリが指定出来るようになります。

 

テンプレートファイルの編集

  • 以下のアーカイブ関連ファイル
    /wp-content/themes/○○○○/archive.php
    /wp-content/themes/○○○○/category.php
    /wp-content/themes/○○○○/single.php
  • または、一括で
    /wp-content/themes/○○○○/sidebar.php
    だけ、とか。

で、散らかしっぱなしのソース…

<div class="archive-area">
<p class="b15">Archives</p>
	<?php 
	//プラグイン『Archives for a category』を使ってwp_get_archivesの中で「cat=37」を使えるようにする。
	//→ http://kwebble.com/blog/2007_08_15/archives_for_a_category
	
	//参考:http://d.hatena.ne.jp/fujimori1981/20100313/1268419807
	//1. 年を抽出して配列に格納
	$archives_year = strip_tags(wp_get_archives('cat=37&type=yearly&show_count=0&format=custom&echo=0')); //wp_get_archivesに対してタグを除去して年数のみ抽出。
	$archives_year_array = split("\n",$archives_year); //年数ごとに配列$archives_year_arrayに格納
	array_pop($archives_year_array);//配列内の最後に空の配列ができてるので削除。
	
	//2. アーカイブ一覧を取得して配列に格納
	$archives = wp_get_archives('cat=37&type=monthly&show_post_count=1&use_desc_for_title=0&echo=0'); //月別アーカイブを取得。
	$archives_array = split("\n",$archives); //同様に改行ごとに配列に格納。
	
	foreach ($archives_year_array as $year_value){ //1で抽出した年数分繰り返し
		echo "<ul class='clearfix'>\n";
		echo "<li class='year'>".ltrim($year_value)."</li>\n"; //<h4>で年を表示
		
		foreach ( $archives_array as $archives_value) { //月別アーカイブ数分繰り返し
			
			if ( intval(strip_tags($archives_value)) == intval($year_value) ) { //1で取得した年と、2の各月別アーカイブの文字列を比較
				$list = str_replace(intval($year_value)."年","",ltrim($archives_value))."\n";//2の月別アーカイブの各行のhtmlからYYYY年部分を除去して表示。

				//↓タグを強制的に置換
				$list = str_replace('<li>', '<li><p class="month">', $list); 
				$list = str_replace('</a>', '</a></p>', $list); 
				//$list = str_replace('/\' title', '/?lang=en\' title', $list); 
				$list = str_replace('&nbsp;(', '<p class="num">(', $list); 
				$list = str_replace(')', ')</p></li>', $list); 

				//↓月を英字に強制的に置換(以下の置換処理は設定やプラグインで不要になるかも。)
				$list = str_replace('>1月', '>January', $list); 
				$list = str_replace('>2月', '>February', $list); 
				$list = str_replace('>3月', '>March', $list); 
				$list = str_replace('>4月', '>April', $list); 
				$list = str_replace('>5月', '>May', $list); 
				$list = str_replace('>6月', '>June', $list); 
				$list = str_replace('>7月', '>July', $list); 
				$list = str_replace('>8月', '>August', $list); 
				$list = str_replace('>9月', '>September', $list); 
				$list = str_replace('>10月', '>October', $list); 
				$list = str_replace('>11月', '>November', $list); 
				$list = str_replace('>12月', '>December', $list); 

				//↓で、置換したものを表示
				echo  $list;
				
				//echo $year_value;
				//echo $archives_value;
				array_shift($archives_array); //表示した配列を削除。
			}
			
		}
		echo "</ul>\n";	
	}
	
	?>
</div>

 

CSS

数値などは適所変更する

#archive p.b15{
	font-size: 14px;
	line-height: 160%;
	font-family:'HelveticaNeueW01-75Bold';
	font-weight: normal;
	color: #000;
}

#archive .archive-area{
	width: 231px;
	padding: 25px 0 ;
}
#archive .archive-area ul{
	list-style-type: none;
}
#archive .archive-area ul li{
	width: 100px;
	font-size: 13px;
	line-height: 140%;
	color: #696666;
}
#archive .archive-area ul li a{
	color: #696666;
}
#archive .archive-area ul li a:hover{
	color: #000;
	text-decoration: none;
}
#archive .archive-area ul li p.month{
	width: 80px;
	float: left;
}
#archive .archive-area ul li p.num{
	width: 20px;
	color: #696666;
	float: right;
}
#archive .archive-area ul li.year{
	font-size: 13px;
	line-height: 160%;
	font-family:'HelveticaNeueW01-65Medi';
	font-weight: normal;
	color: #000;
	margin-top: 15px;
	margin-bottom: 3px;
}
]]>
http://121.50.42.205/note/wp-%e3%82%a2%e3%83%bc%e3%82%ab%e3%82%a4%e3%83%96%e3%81%ae%e3%83%aa%e3%83%b3%e3%82%af%e3%82%92%e5%b9%b4%e5%88%a5%e3%81%a7%e4%bb%b6%e6%95%b0%e3%82%82%e5%87%ba%e3%81%97%e3%81%a6%e6%95%b4%e5%bd%a2_1666/feed 0
[wp] 管理画面にログインしている時にだけ表示させる http://121.50.42.205/note/wp-%e7%ae%a1%e7%90%86%e7%94%bb%e9%9d%a2%e3%81%ab%e3%83%ad%e3%82%b0%e3%82%a4%e3%83%b3%e3%81%97%e3%81%a6%e3%81%84%e3%82%8b%e6%99%82%e3%81%ab%e3%81%a0%e3%81%91%e8%a1%a8%e7%a4%ba%e3%81%95%e3%81%9b_1614 http://121.50.42.205/note/wp-%e7%ae%a1%e7%90%86%e7%94%bb%e9%9d%a2%e3%81%ab%e3%83%ad%e3%82%b0%e3%82%a4%e3%83%b3%e3%81%97%e3%81%a6%e3%81%84%e3%82%8b%e6%99%82%e3%81%ab%e3%81%a0%e3%81%91%e8%a1%a8%e7%a4%ba%e3%81%95%e3%81%9b_1614#comments Wed, 09 Jan 2013 07:38:18 +0000 admin http://phono.co.jp/note/?p=1614 テストしているときによく使うのでこの機会にメモ。

<?php
if (!is_user_logged_in()) {
}else{
?>

ここに表示したい内容。

<?php } ?>
]]>
http://121.50.42.205/note/wp-%e7%ae%a1%e7%90%86%e7%94%bb%e9%9d%a2%e3%81%ab%e3%83%ad%e3%82%b0%e3%82%a4%e3%83%b3%e3%81%97%e3%81%a6%e3%81%84%e3%82%8b%e6%99%82%e3%81%ab%e3%81%a0%e3%81%91%e8%a1%a8%e7%a4%ba%e3%81%95%e3%81%9b_1614/feed 0
[ec-cube] 通常価格と販売価格が違う場合は「○○%OFF」の表示する http://121.50.42.205/note/ec-cube-%e9%80%9a%e5%b8%b8%e4%be%a1%e6%a0%bc%e3%81%a8%e8%b2%a9%e5%a3%b2%e4%be%a1%e6%a0%bc%e3%81%8c%e9%81%95%e3%81%86%e5%a0%b4%e5%90%88%e3%81%af%e3%80%8c%e2%97%8b%e2%97%8boff%e3%80%8d%e3%81%ae_1597 http://121.50.42.205/note/ec-cube-%e9%80%9a%e5%b8%b8%e4%be%a1%e6%a0%bc%e3%81%a8%e8%b2%a9%e5%a3%b2%e4%be%a1%e6%a0%bc%e3%81%8c%e9%81%95%e3%81%86%e5%a0%b4%e5%90%88%e3%81%af%e3%80%8c%e2%97%8b%e2%97%8boff%e3%80%8d%e3%81%ae_1597#comments Tue, 08 Jan 2013 10:09:22 +0000 admin http://phono.co.jp/note/?p=1597 通常価格と販売価格が違う場合は「○○%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%;">販売価格:&nbsp;&nbsp;</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;">通常価格&nbsp;&nbsp;</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%;">販売価格:&nbsp;&nbsp;</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}-->
]]>
http://121.50.42.205/note/ec-cube-%e9%80%9a%e5%b8%b8%e4%be%a1%e6%a0%bc%e3%81%a8%e8%b2%a9%e5%a3%b2%e4%be%a1%e6%a0%bc%e3%81%8c%e9%81%95%e3%81%86%e5%a0%b4%e5%90%88%e3%81%af%e3%80%8c%e2%97%8b%e2%97%8boff%e3%80%8d%e3%81%ae_1597/feed 0
[wp] ループ中の記事数を取得し、特定の件数ごとに処理する。 http://121.50.42.205/note/wp-%e3%83%ab%e3%83%bc%e3%83%97%e4%b8%ad%e3%81%ae%e8%a8%98%e4%ba%8b%e6%95%b0%e3%82%92%e5%8f%96%e5%be%97%e3%81%97%e3%80%81%e7%89%b9%e5%ae%9a%e3%81%ae%e4%bb%b6%e6%95%b0%e3%81%94%e3%81%a8%e3%81%ab_1592 http://121.50.42.205/note/wp-%e3%83%ab%e3%83%bc%e3%83%97%e4%b8%ad%e3%81%ae%e8%a8%98%e4%ba%8b%e6%95%b0%e3%82%92%e5%8f%96%e5%be%97%e3%81%97%e3%80%81%e7%89%b9%e5%ae%9a%e3%81%ae%e4%bb%b6%e6%95%b0%e3%81%94%e3%81%a8%e3%81%ab_1592#comments Fri, 07 Dec 2012 07:50:21 +0000 admin http://phono.co.jp/note/?p=1592 ↓ちょっとした事ですが、これはとても便利です!

出典:KH-WEBLOG / http://www.kxh-web.com/web/wp/628]]>
http://121.50.42.205/note/wp-%e3%83%ab%e3%83%bc%e3%83%97%e4%b8%ad%e3%81%ae%e8%a8%98%e4%ba%8b%e6%95%b0%e3%82%92%e5%8f%96%e5%be%97%e3%81%97%e3%80%81%e7%89%b9%e5%ae%9a%e3%81%ae%e4%bb%b6%e6%95%b0%e3%81%94%e3%81%a8%e3%81%ab_1592/feed 0
[php] 数値で8桁の乱数を100個生成する http://121.50.42.205/note/%e6%95%b0%e5%80%a4%e3%81%a78%e6%a1%81%e3%81%ae%e4%b9%b1%e6%95%b0%e3%82%92100%e5%80%8b%e7%94%9f%e6%88%90%e3%81%99%e3%82%8b_1587 http://121.50.42.205/note/%e6%95%b0%e5%80%a4%e3%81%a78%e6%a1%81%e3%81%ae%e4%b9%b1%e6%95%b0%e3%82%92100%e5%80%8b%e7%94%9f%e6%88%90%e3%81%99%e3%82%8b_1587#comments Fri, 16 Nov 2012 18:10:34 +0000 admin http://phono.co.jp/note/?p=1587 数値で8桁の乱数を100個生成する
<?php
for ($i = 0 ; $i < 100 ; $i++){
	$pw = mt_rand(0,99999999);
	$pw2 = sprintf("%08d",$pw);
	echo "" . $pw2 . "<br />";
}
?>
]]>
http://121.50.42.205/note/%e6%95%b0%e5%80%a4%e3%81%a78%e6%a1%81%e3%81%ae%e4%b9%b1%e6%95%b0%e3%82%92100%e5%80%8b%e7%94%9f%e6%88%90%e3%81%99%e3%82%8b_1587/feed 0
[php] 簡単なコンテンツ公開タイマー、その2 http://121.50.42.205/note/php-%e7%b0%a1%e5%8d%98%e3%81%aa%e3%82%b3%e3%83%b3%e3%83%86%e3%83%b3%e3%83%84%e5%85%ac%e9%96%8b%e3%82%bf%e3%82%a4%e3%83%9e%e3%83%bc%e3%80%81%e3%81%9d%e3%81%ae2_1584 http://121.50.42.205/note/php-%e7%b0%a1%e5%8d%98%e3%81%aa%e3%82%b3%e3%83%b3%e3%83%86%e3%83%b3%e3%83%84%e5%85%ac%e9%96%8b%e3%82%bf%e3%82%a4%e3%83%9e%e3%83%bc%e3%80%81%e3%81%9d%e3%81%ae2_1584#comments Fri, 12 Oct 2012 13:06:28 +0000 admin http://phono.co.jp/note/?p=1584

公開日時を過ぎてしまう

厳密な時間指定でのコンテンツ公開で“うっかり忘れ”を防止する保険、という意味で有用。

アクセス毎に処理が走るので公開時間を過ぎた時点で、このスクリプトは排してしまった方がいいかも。

時間を上書きして確認するには

■現在時間を操作する
 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 } ?>

]]>
http://121.50.42.205/note/php-%e7%b0%a1%e5%8d%98%e3%81%aa%e3%82%b3%e3%83%b3%e3%83%86%e3%83%b3%e3%83%84%e5%85%ac%e9%96%8b%e3%82%bf%e3%82%a4%e3%83%9e%e3%83%bc%e3%80%81%e3%81%9d%e3%81%ae2_1584/feed 0