我有一个简单的wordpress查询,我需要编写作为我正在创建的主题的一部分。
我有大部分内容,但需要在正确的方向上进行一点推动,以便根据自定义帖子类型的自定义元字段实际过滤返回的结果。
如果后期元字段完成日期'或者'发布日期'等于当前日期或之前,将帖子放入已发布的研究表中。
如果帖子元字段'完成日期'或者'发布日期'是当前日期之前的日期,将帖子放入正在进行的研究中。
*更新*
目前我有这个:
<div class="container main-content">
<div class="row">
<h1>ONGOING RESEARCH</h1>
<table class="table table-bordered">
<tr>
<th>Type</th>
<th>Title</th>
<th>Summary / Abstract</th>
<th>Keywords</th>
<th>Type of Research</th>
<th>Principle Investigator</th>
<th>Completion Date</th>
</tr>
<?php $wp_query_ongoing = new WP_Query( array( 'post_type' => 'research', 'posts_per_page' => 5, 'order' => 'asc' ) ); ?>
<?php while ( $wp_query_ongoing->have_posts() ) : $wp_query_ongoing->the_post(); //start of the loop ?>
<?php
$post_id = get_the_ID();
$completion_date = get_post_meta( $post_id, "duration_end", true );
$publication_date = get_post_meta( $post_id, "publication_date", true );
?>
<?php if (strtotime($publication_date) >= strtotime("now") || strtotime($completion_date) >= strtotime("now")) { ?>
<tr>
<td><?php echo do_shortcode('[wpuf-meta name="_hidden_type"]' ); ?></td>
<td><?php the_title(); ?></td>
<td>3</td>
<td>4</td>
<td>5</td>
<td>6</td>
<td>
<?php echo do_shortcode('[wpuf-meta name="duration_end"]'); ?>
<?php echo do_shortcode('[wpuf-meta name="publication_date"]'); ?>
</td>
</tr>
<?php } ?>
<?php endwhile; //end of the loop ?>
</table>
<h1>PUBLISHED RESEARCH</h1>
<table class="table table-bordered">
<tr>
<th>Type</th>
<th>Title</th>
<th>Summary / Abstract</th>
<th>Keywords</th>
<th>Author</th>
<th>Type of Research</th>
<th>Open Access</th>
<th>Date Published</th>
</tr>
<?php $wp_query_published = new WP_Query( array( 'post_type' => 'research', 'posts_per_page' => 5, 'order' => 'asc' ) ); ?>
<?php while ( $wp_query_published->have_posts() ) : $wp_query_published->the_post(); //start of the loop ?>
<?php
$post_id = get_the_ID();
$completion_date = get_post_meta( $post_id, "duration_end", true );
$publication_date = get_post_meta( $post_id, "publication_date", true );
?>
<?php if ( strtotime($publication_date) <= strtotime("now") || strtotime($completion_date) <= strtotime("now")){ ?>
<tr>
<td><?php echo do_shortcode('[wpuf-meta name="_hidden_type"]' ); ?></td>
<td><?php the_title(); ?></td>
<td>
<?php echo do_shortcode('[wpuf-meta name="synopsis"]'); ?>
<?php echo do_shortcode('[wpuf-meta name="abstract"]'); ?>
</td>
<td>
<?php echo do_shortcode('[wpuf-meta name="keywords"]'); ?>
<?php
$terms = get_the_terms($post->ID, 'keywords');
foreach ($terms as $keyword) {
$myKeywords[] = $keyword->name;
}
echo implode( ', ', $myKeywords );
$myKeywords = null;
?>
</td>
<td><?php echo do_shortcode('[wpuf-meta name="author"]' ); ?></td>
<td><?php echo do_shortcode('[wpuf-meta name="type_of_research"]'); ?></td>
<td><?php echo do_shortcode('[wpuf-meta name="open_access"]'); ?></td>
<td>
<?php echo do_shortcode('[wpuf-meta name="duration_end"]'); ?>
<?php echo do_shortcode('[wpuf-meta name="publication_date"]'); ?>
</td>
</tr>
<?php } ?>
<?php endwhile; //end of the loop ?>
</table>
*新相关问题*
目前正在进行的研究表工作正常,仅显示将来某处设置元日期的帖子。但是,发布的表格是正确的帖子,但也应该只是正在进行的帖子。 ????
我从未使用过php中的日期。如何根据元字段中提供的日期修改上述代码以返回帖子。
N / B我们不关心帖子实际发布日期,只关注自定义元字段中设置的日期。
https://www.dropbox.com/s/0hddjypw9adj9qj/29_alcoholresearchdirectory_browse-research_1-1.png?dl=0
感谢您的任何指示,我没有使用过PHP和日期。