サポート » 使い方全般 » カスタム投稿タイプで投稿時刻の表示が更新されない

  • 解決済 csence

    (@csence)


    現在、Ver3.1を利用しブログ作成中の者です。

    「カスタム投稿タイプ」で、「info_page.php」というページを作成し投稿するところまでは出来たのですが、投稿時刻の表示がうまくいかず困っております。

    1日3投稿行ってみたのですが、ページに反映されている投稿時間は、最初に投稿した時間になっています。

    【ページに記入したPHP】
    <?php
    $tax_posts = get_posts(array(‘post_type’ =>’fxtrade’));
    if ($tax_posts) {
    foreach($tax_posts as $tax_post) {
    echo ‘<div class=”trade_post”>’;
    echo ‘<div class=”trade_title”>’ . esc_html($tax_post->post_title) . ‘</div>’;
    echo ‘<div class=”trade_article”>’ . esc_html($tax_post->post_content) . ‘</div>’;
    echo ‘<div class=”trade_article”>’ . esc_html($post_time = get_the_time(‘Y年n月j日(D) g:i: A’)) . ‘</div>’;
    echo ‘</div>’;
    }
    }
    ?>

    他の参考になるサイトで見よう見まねで上記のPHPを記述していますので、どこに問題があるのかよくわかりません。(PHPはほぼ初心者といっていいのです)

    ※上記のコードで、esc_html($post_time = get_the_time(‘Y年n月j日(D) g:i: A’)) . ‘</div>’;の部分が投稿日時の表示にあたると思うのですが、日付には問題なく時刻のみ、最初に投稿した時刻になっています。(3件の投稿とも同じ時刻になっているという事です)

    本来であれば、投稿した時刻が表示されると思うのですが、どこを調整すればよいかわかりません。試しに、「公開日時」で現在の時刻を記入し更新してみたのですが、変化がありません。

    もしかしたら、「functions.php」に問題があるのかとも思いましたが、どこを調整すればよいのかわかりませんでした。

    【functions.phpの記述】
    function information_custom_post_type() {
    $labels = array(
    ‘name’ => ‘インフォメーション’,
    ‘singular_name’ => ‘インフォメーション’,
    ‘add_new_item’ => ‘新規インフォメーションを追加’,
    ‘add_new’ => ‘新規追加’,
    ‘new_item’ => ‘新規インフォメーション’,
    ‘view_item’ => ‘インフォメーションを表示’,
    ‘not_found’ => ‘インフォメーションは見つかりませんでした’,
    ‘not_found_in_trash’ => ‘ゴミ箱にインフォメーションはありません。’,
    ‘search_items’ => ‘インフォメーションを検索’,
    );
    $args = array(
    ‘labels’ => $labels,
    ‘public’ => true,
    ‘show_ui’ => true,
    ‘query_var’ => true,
    ‘hierarchical’ => false,
    ‘menu_position’ => 5,
    ‘supports’ => array(‘title’,’editor’,’author’,’thumbnail’,’excerpt’,’comments’,’custom-fields’,’page-attributes’)
    );
    register_post_type(‘information’, $args);
    }
    add_action(‘init’, ‘information_custom_post_type’);

    因みに通常の投稿ページでは、投稿時刻はきちんと表示されています。

    よきアドバイスを頂けましたら幸いです。

4件の返信を表示中 - 1 - 4件目 (全4件中)
  • ちょっとしたアレです。

    echo '<div class="trade_article">' . esc_html($tax_post->post_content) . '</div>';
    echo '<div class="trade_article">' . esc_html($post_time = get_the_time('Y年n月j日(D) g:i: A')) . '</div>';

    せっかく前の行まで $tax_post->post_content で拾ってるのに get_the_time が間違ってますね。

    $tax_post->post_date;
    かな

    トピック投稿者 csence

    (@csence)

    「kvex」様、

    お忙しいのに誠に恐れ入ります。

    おかげさまで、表示できました。
    きちんと投稿時刻で、表示が出たときには嬉しかったです。

    本当にありがとうございました。

    解決済みでなのですが、

    なんでもかんでも esc_html() すればいいというものでもありません。
    少なくとも、

    esc_html($tax_post->post_content);

    は、

    apply_filters( 'the_content', $tax_post->post_content);

    としたほうがいいかもしれません。

    あと、

    $tax_post->post_date;

    に、esc_html() が本当に必要なのかは???

    トピック投稿者 csence

    (@csence)

    「kvex」様、

    コードの書き方でもいろいろあるのですね。
    まだまだ勉強不足で、お教え頂いたコードを実際に書いてみてどの様になるかを勉強してみたいと思います。

    又別件でもお世話になる事があるかもしれませんが、宜しくご教示くださいませ。

4件の返信を表示中 - 1 - 4件目 (全4件中)
  • トピック「カスタム投稿タイプで投稿時刻の表示が更新されない」には新たに返信することはできません。