调用表中的不同自定义发布时间戳

时间:2014-02-14 作者:Bysander

我使用WordPress运行一个活动网站,如果有订阅,人们可以登录该网站。

在每个活动的底部,如果你是管理员,你可以看到一个客人名单,上面有姓名、电子邮件、电话、头像(通过BuddyPress)以及你的订阅详细信息。

订阅详细信息存储为自定义帖子(&P);我想做的只是简单地列出他们第一次开始订阅时的日期。

订阅到期似乎很容易,因为它存储为元键,但我无法为每个调用的自定义帖子显示单独的帖子发布日期。

这就是我到目前为止所做的:可能有点粗糙,但自从网站上线以来,我只在上个月左右自学了PHP,所以请耐心等待。

<thead>
  <tr>
    <th>User (Full Name)</th>
    <th>Email Address</th>
    <th>Phone</th>
    <th>Subscription</br>Expiry/Renewal</th>
    <th>Subscriber</br> Since</th>
    <th>Photo</th>
  </tr>
</thead>
<tbody>
  <?php foreach($tickets as $ticket) { ?>
    <tr>
      <td><?php echo $ticket[\'name\']; ?>
        <br/>(
          <?php $useremail = $ticket[\'email\'];
              $user = get_user_by( \'email\', $useremail );
              $IDuser = $user->ID;
              echo bp_get_profile_field_data( array( \'field\'=>\'Full (Legal) Name - Not Displayed*\',\'user_id\'=>$IDuser));
              ?>)
      </td>
      <td><?php echo $ticket[\'email\']; ?></td>
      <td><?php $useremail = $ticket[\'email\'];
          $user = get_user_by( \'email\', $useremail );
          $IDuser = $user->ID;
          $telno = bp_get_profile_field_data( array( \'field\'=>\'Mobile phone number - Not Displayed*\',\'user_id\'=>$IDuser));
          {?><a href="tel:<?php echo $telno;?>"><?php echo $telno; }?></a>
      </td>
      <td><?php $useremail = $ticket[\'email\'];
          $user = get_user_by( \'email\', $useremail );
          $IDuser = $user->ID;
          echo getSubscriberType($IDuser);
          $subscriptions = getUserSubscriptions($IDuser);?></br> 
          <?php echo date(\'d/m/Y\',strtotime($subscriptions[0][\'expiry\'])); ?>
      </td>
      <!-- (not in actual code) - GETING THE USERS FIRST PUBLISHED SUBSCRIPTION?? \\/   \\/   \\/   \\/  -->
      <td>
      <?php
          $useremail = $ticket[\'email\'];
          $user = get_user_by( \'email\', $useremail );
          $IDuser = $user->ID;
          $subscriptions = getUserSubscriptions($IDuser);
          echo get_the_date(\'M j, Y\', $subscriptions);
          ?>
      </td>
      <!-- (not in actual code) - GETING THE USERS FIRST PUBLISHED SUBSCRIPTION?? /\\   /\\   /\\   /\\ -->
      <td><?php $useremail = $ticket[\'email\'];
          $user = get_user_by( \'email\', $useremail );
          $IDuser = $user->ID;
          echo get_avatar( $IDuser, 60); ?>
      </td>
  </tr>
因此,评论之间的日期似乎与每个人的日期相同,而不是被称为“个人订阅”的帖子。。。。上述通话;

<?php echo date(\'d/m/Y\',strtotime($subscriptions[0][\'expiry\'])); ?>工作正常,但我正在调用特定的元键。据我所知,wordpress没有调用此数据的特定键。。。?

如果有人能帮上忙,那就太好了,因为有很多帮助可以帮助你在页面上调用时间戳,也可以帮助你获取特定的帖子ID,但这种类型的调用没有任何帮助。

==========================

编辑:尝试在重复回答中实现代码显示,但没有任何意义-我不想将所有帖子显示为列表,因为有很多博客可以提供帮助。我想用查询我的订阅CPTuser ID 从票证CPT的元数据中获取。唯一链接两个CPT的是用户ID。。。

我正在努力解决的是如何查询和匹配这两个自定义帖子,最终给出订阅的第一个发布日期。抱歉,这有点冗长-任何帮助都将不胜感激。

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

好的,所以比我最后想的要简单得多,并且不涉及查询的查询。

同样可以通过以下方式实现:

     /*GETING THE USERS FIRST PUBLISHED SUBSCRIPTION?? */
$useremail = $ticket[\'email\'];
$user = get_user_by( \'email\', $useremail );
$IDuser = $user->ID;
$args = array(
              \'posts_per_page\' => 1,
              \'post_type\' => \'subscription\',
              \'author\' => $IDuser,
              \'meta_key\' => \'state\',
              \'meta_value\' => \'complete\',
              \'orderby\' => \'date\',
              \'order\' => \'ASC\',
              );
$first_post = new WP_Query($args);
//    \'<pre>\'.print_r($first_post).\'</pre>\'; // You can use this to check what the query produces to make sure you\'re on the right track.
if ($first_post->have_posts()) {
    $first_post->the_post();

    the_time(\'M j, Y\');

    wp_reset_postdata();

结束

相关推荐

POSTS_NAV_LINK();不显示在静态页面上

我有两个不同的循环。主页上的默认值,但存档页面上的二次循环。它抓住了所有的内容,就像这样:<?php // WP_Query arguments $args = array ( \'posts_per_page\' => \'3\' ); // The Query $archiveQuery = new WP_Query( $args ); // The Loop if ( $archiveQuery-&