wordpressの技術情報をメモしたサイトです。

カスタムフィールドから誕生日を入力して経過時間などの関数の設定

カスタムフィールドプラグイン(CustomFieldGuiUtility)を使って各ユーザーが誕生日を入力してもらいそのデーターから時間に関するphp計算式の覚え書きです。 ますは、入力データを関数に変換します。

//誕生日の西暦・月・日
<?php 
$by = post_custom('birthday_y');
$bm = post_custom('birthday_m');
$bd = post_custom('birthday_d');
//現在の西暦・月・日・
$ty = date("Y");
$tm = date("m");
$td = date("d");
?>

 

年齢を算出する関数

  <!--?php 
function calc_age($birth)
{
list($by, $bm, $bd) = explode('-', $birth);
$age = $ty - $by;
if($tm * 100 + $td < $bm * 100 + $bd) $age--;
return $age;
}
print calc_age("$by-$bm-$bd");
?-->

 

お誕生日までの日数

<!--?php 
$tuki = $bm ;
$niti = $bd;<br ?--><br />$one_day = 60 * 60 * 24;
$this_y = date(Y);<br /><br />$t1 = time();
$t2 = mktime(0, 0, 0, $tuki, $niti, $this_y);<br /><br />if ($t1 < $t2) {<br /><br />$remain_day = ceil (($t2 - $t1) / $one_day);
echo ($remain_day);<br /><br />} else {<br /><br />$next_y = ++$this_y ;
$t3 = mktime(0, 0, 0, $tuki, $niti, $next_y);
$remain_day = ceil (($t3 - $t1) / $one_day);<br /><br />$tukihi1 = date ('Ymd', $t1) ;
$tukihi2 = date ('Ymd', $t2) ;
$remain_day = ($tukihi1 != $tukihi2) ? $remain_day : 0;<br /><br />echo ($remain_day);
}
?>

 

生まれてからの経過日数

<!--?php 
$t1 = mktime(0, 0, 0, $bm, $bd, $by);
$t2 = time(); //現在のタイムスタンプ
$one_day = 60 * 60 * 24; //1日の秒数
echo ($t2 - $t1) / $one_day; //2007年1月1日からの経過日数
// =--> 234.69549768519
?>

 

小数点以下なし日にちのみ

<!--?php 
$today = mktime(0, 0, 0, gmdate("m"), gmdate("d"), gmdate("Y"));
$start = mktime(0, 0, 0, $bm, $bd, $by);
$keika = (int)(($today - $start) / 86400);
echo ($keika);
?-->

 

いろんなサイトからの引用になります。 いろいろ試してみてこの以上の関数が一番上手く動きました。

wordpressログインをしないと記事が見れない設定

wordpressでログインしないとサイト全体を見ることが出来ない設定の覚え書きです。 以下のタグをfunctions.phpに貼り付けすればログインしないと見れなくなります。

/* ログインユーザーのみ閲覧させるための記述 */
function require_login() {
if ( ! is_user_logged_in() && ! preg_match( '/^(wp-login.php|async-upload.php)/', basename( $_SERVER['REQUEST_URI'] ) ) && ! ( defined( 'DOING_AJAX' ) && DOING_AJAX )  && ! ( defined( 'DOING_CRON' ) && DOING_CRON ) ) {
auth_redirect();
}
}
add_action( 'init', 'require_login' );

 

お知らせ

wordpressの凄いところはプラグインだけではありません。

テンプレートにしてもブラウザー上でカスタマイズ出来てしまうので今後、

進化して、いちいちテンプレートを制作しなくても形になってしますと思います。

wordpressカスタマイザー