Support » Plugin: WP Easy Post Types » [Plugin: WP Easy Post Types] Date custom field displaying strangely

  • Hi,

    Thanks for your plugin, its been immensely helpful.

    One problem I’m running into is trying to display a date from the ‘datefield’ custom field. I have it set as a date (as in, I click the field and the calendar pops up), and I am calling the fields as I usually do:

    <?php query_posts('post_type=tour'); ?>
    
      <?php if (have_posts()) : while (have_posts()) : the_post();
          $venue = get_post_custom_values("venue");
          $date = get_post_custom_values("date");
          $tickets = get_post_custom_values("ticket_url");
          $location = get_post_custom_values("location");
       ?>

    Then I call the date like this:

    <?php echo $date[0]; ?>

    All the other fields work perfectly as text fields, but then when I have a value of 07/08/2010 for the date, it spits out 1278547200. Just wondering if you know of a workaround for this issue or if I’m doing something wrong.

    Thanks!
    Tim

    http://wordpress.org/extend/plugins/easy-post-types/

Viewing 4 replies - 1 through 4 (of 4 total)
  • Thread Starter roctimo

    (@roctimo)

    Has anybody else seen this issue? I wouldn’t normally post again but I just noticed that every other thread has seen some sort of solution, and I just want to know if I’m alone in this.

    Thanks

    Plugin Author chertz

    (@chertz)

    Hi roctimo, You should use the <?php the_ept_field(‘date’); ?> snippet, which will handle of the code to display the date as you defined when you created the field. There is also a template system that lets you change the default beahvior. If you copy the theme-datefield.php template in the classes/custom-datefield folder and you put it in your theme folder, then the plugin will call that file instead of the default one. You can also override it for each field, in your case you should rename it theme-datefield-date.php and it will be used by the plugin just for the date field. Let me know if this helps.

    roctimo,

    The date is stored just as PHP likes it: as a unix timestamp, which is seconds since 1970, hence the 1278547200 you’re seeing. All you need is the PHP date() function, which will convert that time (http://php.net/manual/en/function.date.php). Give the date() function the format you want and the timestamp and it will format it for you.

    For example:

    <?php
    $show_date = get_post_meta($post->ID, 'show_date', true); //retrieve the date meta value
    echo date("n/j/y", $show_date); //format the date meta value using the PHP date() function
    ?>

    I think this is better than using EPT’s built-in <?php the_ept_field(‘date’); ?> function because (1) that gives you a lot of crap around the value, and (2) you’re locked into EPT’s date formatting.

    I’m having a similar issue using the Create Field Template plug-in to display a datefield I created using easy post type.

    I’m getting a timestamp and not human readable text on my template. I’m not super knowledgeable about this stuff, so I wanted to back up a bit.

    Where do insert this snippet: <?php the_ept_field(‘date’); ?>

    Also, let’s say that my theme is called “ABC”, and my datefield is called “pull_date”.

    if I copy the theme-datefield.php template into my theme, and I just want it to apply to that single field, I would rename it “ABC-pull_date-date.php” and drop it in the theme folder. Is that correct?

    KS

Viewing 4 replies - 1 through 4 (of 4 total)
  • The topic ‘[Plugin: WP Easy Post Types] Date custom field displaying strangely’ is closed to new replies.