首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用帖子元列出帖子内容

使用帖子元列出帖子内容
EN

Stack Overflow用户
提问于 2011-07-04 11:44:48
回答 2查看 325关注 0票数 0

我有一个客户端的自定义php页面。基本上,这个页面将按post_meta日期(称为open_date)列出帖子。open_date set中的每个项目还包括另外两个(open_start)和(open_close)。如果你还没弄明白,这是一个事件类型列表。

最终,我所追求的是一个脚本,以获得所有的帖子与这个元,并按顺序显示它们。下面是每个metas值的示例。不确定从哪里开始编写脚本,所以我的代码片段相当缺乏。

例如,‘s open_date = 12/05/2011 open_start = 12:10 pm open_close = 02:00 pm

到目前为止,我的脚本

代码语言:javascript
复制
$masterquery = "SELECT * from wp_postmeta WHERE meta_key = 'open_date'";
$masterreslt = mysql_query($masterquery) or die(mysql_error());
while($masterdata = mysql_fetch_array($masterreslt)) {
    $new_array = $masterdata['meta_value'];
    if(!empty($masterdata['meta_value'])) {
        foreach($masterdata as $fullarray) {
            $post_id = $masterdata['post_id'];
            $open_date = $masterdata['open_date'];
            $open_start = $masterdata['open_start'];
            $open_close = $masterdata['open_close'];

            echo $post_id;
            echo '<br>';

            echo $open_date;
            echo '<br>';
        }

正如我所说的,相当缺乏,也不太确定从哪里开始。在可湿性粉剂中从未做过这样的事情。

EN

回答 2

Stack Overflow用户

发布于 2011-07-04 16:39:45

如果我理解正确的话,你想要显示两个日期(开始和结束)之间的帖子,首先你需要添加一个自定义字段(或metabox),在那里你输入两个日期,一个为开始,一个为芬兰语。

代码语言:javascript
复制
<?php 
$c = 0; $loop = new WP_Query( array( 'post_type' => <post_type>, 'posts_per_page' => -1, 'post_status' => 'publish', 'orderby' => 'date', 'order' => 'DESC' ));
echo '<ul>';
while ( $loop->have_posts() ) : $loop->the_post(); 
$end = get_post_meta($post->ID, 'end', true); 
$start = get_post_meta($post->ID, 'start', true);
$c++;
$y = strtotime($end); 
$x = strtotime($start);

//echo '<br />';
if ($y < $x) { next; } else {
?>
<li><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></li>
<?php } 
echo '</ul>';
endwhile;

if ($c == 0) { 
echo '<p>None found.</p>';
}

}
?>
票数 0
EN

Stack Overflow用户

发布于 2011-07-05 12:36:14

在使用普通PHP编写代码后,我已经让它正常工作了。我相信有一些WP函数可以替代其中的一些。但它是有效的,这就是我所需要的。关于lastlist的if语句确保它不会列出重复的内容,因为在编辑帖子时,这些自定义字段会被一次又一次地添加。但是,此查询仅获取每个列表的最新信息。

我的代码:

代码语言:javascript
复制
  <?php
$lastlist = "";
$masterquery = "SELECT * from wp_postmeta WHERE meta_key = 'open_date' ORDER BY meta_value";
$masterreslt = mysql_query($masterquery) or die(mysql_error());
while($masterdata = mysql_fetch_array($masterreslt)) {
    $new_array = $masterdata['meta_value'];
    if(!empty($masterdata['meta_value'])) {
        foreach($masterdata as $fullarray) {
            $post_id = $masterdata['post_id'];

            $property_id = $post_id;

                if($property_id != $lastlist){

                $address = get_post_meta($property_id, 'address', true);

                $open_date = get_post_meta($property_id, 'open_date', true);
                $open_date = date(  "F j, Y", strtotime( $open_date ) );  
                $open_start = get_post_meta($property_id, 'open_start', true);
                $open_close = get_post_meta($property_id, 'open_close', true);
                $image = get_post_meta($property_id, 'red_image1', true);
                $excerpt = get_post($property_id, ARRAY_N);
                $excerpt = $excerpt['5'];
                $permalink = get_permalink( $property_id );

                echo "<div style=\"width:800px;\">";
                echo "<a href=\"$permalink\"><img style=\"width:250px; height:180px; float:left; margin:10px;\" src=\"$image\" /></a>";
                echo "<span style=\"float:right;width:530px;\"><a href=\"$permalink\"><h1>$address</h1></a></span>";
                echo "<span style=\"float:right;width:530px;\"><h2>$open_date $open_start to $open_close</h2></span>";
                echo "<span style=\"float:right;width:530px;\"><p>$excerpt</p></span>";
                echo "</div>";
                echo "<div style=\"clear:both;\">";
                $lastlist = $property_id;
        }
        }
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6567096

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档