如何将自定义字段放入此php中

时间:2013-02-11 作者:Batman

Hy,我想数数演员的年龄。

演员的出生日期存储在自定义字段中。

$date = get_field(\'data_nasterii\');
自定义字段中存储的日期为:yymmdd

我怎样才能把bouth粘在一起让它工作呢。

<?php
                 //date in mm/dd/yyyy format; or it can be in other formats as well
                 $birthDate = "12/17/1967";
                 //explode the date to get month, day and year
                 $birthDate = explode("/", $birthDate);
                 //get age from date or birthdate
                 $age = (date("md", date("U", mktime(0, 0, 0, $birthDate[0], $birthDate[1], $birthDate[2]))) > date("md") ? ((date("Y")-$birthDate[2])-1):(date("Y")-$birthDate[2]));
                 echo $age ."ani";
            ?>
我尝试过这个,但这让我在2012年得到了回报

<?php
         //date in mm/dd/yyyy format; or it can be in other formats as well
         $birthDate = get_field(\'data_nasterii\');
         //explode the date to get month, day and year
         $birthDate = explode("/", $birthDate);
         //get age from date or birthdate
         $age = (date("md", date("U", mktime(0, 0, 0, $birthDate[0], $birthDate[1], $birthDate[2]))) > date("md") ? ((date("Y")-$birthDate[2])-1):(date("Y")-$birthDate[2]));
         echo $age ."ani";
    ?>

2 个回复
最合适的回答,由SO网友:kaiser 整理而成

假设你的约会方式——无论出于什么原因——真的是yymmdd 而不是设置为您在“管理设置”部分中定义的内容:

还有本机PHP函数date_parse_from_format() 可以与core设置一起使用。只需添加以下插件并在模板中使用自定义模板标记。

<?php
defined( \'ABSPATH\' ) OR exit;
/**
 * Plugin Name: Real Date Template Tag
 */

function wpse85476_to_real_date( $date, $format )
{
    static $date_format;
    empty( $date_format ) AND $date_format = get_option( \'date_format\' );

    $date_parts = date_parse_from_format(
         $format
        ,$date
    );

    // Error handling
    if ( 0 < $date_parts[\'error_count\'] )
    {
        return current_user_can( \'manage_options\' )
            ? new WP_Error(
                 \'date\'
                ,\'Wrong date format. Adjust Date Parser.\'
                ,$date
            )
            : $date;
    }

    return array(
         \'date_parts\' => $date_parts
        ,\'real_date\'  => date_i18n(
             $date_format
            ,mktime( 0, 0, 0, $date_parts[\'month\'], $date_parts[\'day\'], $date_parts[\'year\'] )
        )
    );
}
下面是如何检索格式正确的日期。

$date = wpse85476_to_real_date( get_field( \'data_nasterii\' ), \'yymmdd\' );
$real_date = $date[\'real_date\'];
下面是如何检索零件进行计算:

$date_parts = $date[\'date_parts\'];

SO网友:Batman

感谢您的回答,我解决了以下问题:

<?php
         //date in mm/dd/yyyy format; or it can be in other formats as well
         $data = get_field(\'data_nasterii\');
         $date = date("d/m/Y", strtotime($data));
         //explode the date to get month, day and year
         $date = explode("/", $date);
         //get age from date or birthdate
         $age = (date("md", date("U", mktime(0, 0, 0, $date[0], $date[1],$date[2]))) > date("md") ? ((date("Y")-$date[2])-1):(date("Y")-$date[2]));
         echo $age ." ani";
?>
代码基于this answer on StackOverflow 作者:Sudhir

结束

相关推荐

列出分类法:如果分类法没有POST,就不要列出分类法--取决于定制的POST-META?

这可能很难解释,我不知道是否有解决办法!?我有一个名为“wr\\u event”的自定义帖子类型和一个名为“event\\u type”的分层自定义分类法。自定义帖子类型有一个元框,用于event_date 并且与此帖子类型关联的所有帖子都按以下方式排序event_date. 我在循环中有一个特殊的条件来查询event_date 已经发生了-在这种情况下,它没有显示,但只列在我的档案中。就像你可以使用wp_list_categories() 我编写了一个自定义函数,它以完全相同的方式列出所有分类术语。现在