在今天之前将自定义发布状态更改为草稿

时间:2014-08-18 作者:Amanullah Tanweer

我尝试了我编写的这个代码,但看起来我做得不对。。

主要的问题是我的代码获取了所有按meta-value-date排序的帖子,但我需要从今天的日期隐藏帖子(我无法做到),所以我从php strotime中完成了这一操作(这也很好),但主要的问题是我只需要5篇最新的帖子。。。

如果有人能给点建议让这段代码正常工作,那就太好了

echo \'<ul class="whats-on" id="owl-demo">\';
global $wp_query;
$tDate = strtotime(\'now\');
$query = new WP_Query( 
    array(
        \'post_type\' => \'event\',
        \'posts_per_page\' => 999,
        \'post_status\' => \'publish\',
        \'meta_key\'=>\'event_date\',  
        \'orderby\' => \'meta_value\', 
        \'order\' => ASC
    )
);    
$count = 0;

while ( $query->have_posts() ) : $query->the_post();
    $database_date = get_field(\'event_date\');
    if( strtotime($database_date) > strtotime(\'now\') ) {
        $count++;
        if ($count !="6") {
            echo \'<li class="item">\';
            echo \'<a href="\' . the_permalink() . \'">\';
            echo \'<img src="\' . bloginfo(\'template_url\') . \'/timthumb.php?src=\' . the_field(\'cover\') . \'&w=170&h=228" class="img-responsive">\';
            echo \'<h2>\' . get_the_title() . \'</h2><p>\';
            $originalDate = get_field(\'event_date\');
            $newDate = date("l M d", strtotime($originalDate));
            echo $newDate . \'</p></a></li>\';
        }
    }
endwhile;

wp_reset_postdata();
echo \'</ul>\';

1 个回复
SO网友:Cvongrim

是否必须将其他帖子设置为草稿?还是只显示今天的后期工作?如果只是展示今天的帖子,你可以做如下事情

$today = getdate();
$args = array(
    \'category_name\' => \'event\',
    \'posts_per_page\' => 5,
    \'year\' => $today["year"],
    \'monthnum\' => $today["mon"],
    \'day\' => $today["mday"]
);
query_posts( $args );

结束

相关推荐

Wordpress updater conflict

我已经创建了一个名为“横向”的主题,它仍然在版本1.0中,但我在wordpress更新dashboad中得到通知,如果我单击更新wordpress主题目录上的免费主题覆盖我自己的主题,则会有一个新的版本1.0.3。我不理解这场冲突。。我在风格上重新命名了主题。但是我仍然遇到同样的问题。请帮忙。我不想重命名主题的文件夹名称。有没有办法阻止wordpress的更新。组织api?非常感谢。