1

私は以下を使用しています

<?php
function custom_echo($x)
{
  if(strlen($x)<=150)
  {
    echo $x;
  }
  else
  {
    $y=substr($x,0,150) . '...';
    echo $y;
  }
}

// Include the wp-load'er
include('../../blog/wp-load.php');

// Get the last 10 posts
// Returns posts as arrays instead of get_posts' objects
$recent_posts = wp_get_recent_posts(array(
  'numberposts' => 4
));

// Do something with them
echo '<div>';
foreach($recent_posts as $post) {
  echo '<a class="blog-title" href="', get_permalink($post['ID']), '">', $post['post_title'], '</a><br />', $post['post_date'], custom_echo($post['post_content']), '<br /><br />';
}
echo '</div>';
?>

私が問題を抱えているのは $post['post_date'] です - それは 2012-12-03 13:59:56 として出てきます - これを 2012 年 12 月 3 日と読みたいだけです。それについて。これに似た解決策が他にもいくつかあることは知っていますが、私はこれが初めてで、本当にそれらを理解していませんでした...?

ヘルプ?

ありがとう。

4

1 に答える 1

8

PHP では、date()関数には多くの書式設定の可能性があります。あなたがしたいことは、このステートメントを使用することです:

echo date("F j, Y", $post['post_date']);

ここ

  1. 「F」はfull textual representation of a month, such as January or March
  2. 「j」はに対応しますDay of the month without leading zeros
  3. 「Y」はA full numeric representation of a year, 4 digits

ドキュメントの詳細と形式については、http: //php.net/manual/en/function.date.phpを参照してください。

編集:変数$post['post_date']に既存の日付が含まれている場合は、代わりにこれを行う必要があります:

echo date("F j, Y", strtomtime($post['post_date']));

この関数strtotime()は、最初に既存の日付をタイムスタンプに変換して、date()適切に機能させます。

詳細はstrtotime()こちら: http://php.net/manual/en/function.strtotime.php

于 2012-12-04T14:23:51.493 に答える