繁体   English   中英

WordPress查询仅显示今天修改的帖子

[英]WordPress Query display only posts modified today

我正在尝试在WordPress中创建一个查询,该查询仅显示今天编辑的帖子, 不包括今天发布的帖子 我尝试了几种变体,但似乎没有任何效果:

$today = current_time('Ymd');

$args = array(
    'post_type' => 'post',
    'post_status' => 'publish',
    'posts_per_page' => '10',
    'meta_query' => array(
        array(
            'key' => 'modified',
            'compare' => '>=',
            'value' => $today,
            'type' => 'NUMERIC,'
            )
    ),
    'orderby' => 'modified',
    'order' => 'DESC',
    'ignore_sticky_posts' => '1'
);

我不太肯定要放什么key ,虽然这不是唯一的问题。

它不是最佳解决方案,但您可以在查询后进行过滤,并检查当前日期字符串是否在修改后的发布日期之内,

例如

$ar = array(
    'post_type' => 'post',
    'post_status' => 'publish',
    'posts_per_page' => '10',
    'orderby'   => 'modified',
    'order'     => 'DESC',
    'ignore_sticky_posts' => '1'
);
$q = new WP_QUery( $ar );
$p = $q->get_posts();
foreach( $p as $a ) {
    $c = current_time( 'Y-m-d' );
    if ( strpos( $a->post_modified, $c ) !== false ) {
        _e( $a->post_title .' '.$a->post_modified. ' - ' . $c. "<br>" );
    }
} 
#echo '<pre>', print_r($p, 1), '</pre>';

如果我做对了,请使用“仅显示今天编辑的帖子,不包括今天发布的帖子”。

我想你的意思是只显示今天修改/编辑的旧发布帖子。

如果是这种情况,这可能对您有帮助:

<?php
    // query args
    $args = array(
            'posts_per_page'        => '10',
            'post_type'             => 'post',
            'post_status'           => 'publish',
            'orderby'               => 'modified',
            'order'                 => 'DESC',
            'ignore_sticky_posts'   => '1',
            'caller_get_posts'      => 1
    );

    // query
    $updated = new WP_Query($args);

    // loop
    while($updated->have_posts()) : $updated->the_post(); 

    $today = current_time('Y-m-d'); // current date a.k.a. TODAY
    $pub = get_the_time('Y-m-d', $updated->ID); // date when post was published
    $mod = get_the_modified_time('Y-m-d', $updated->ID); // date when post was last modified

    // if post NOT published today AND was modified today display: 
    if ( $pub !== $today && $mod === $today ) :
?>

<!-- here goes your normal wp game -->
<h1><?php the_title ?></h1>
<span><?php the_date(); ?></span>
<p><?php the_excerpt(); ?></p>

<?php endif; endwhile; ?>

基于此查询, 选择所有今天发布或修改的帖子 ,您只需编写此WP_Query即可仅检索修改后的帖子:

   $args = array(
        'post_type' => 'post',
        'post_status' => 'any', // we also want the drafts
        'nopaging'=>true,
        'date_query' => array(
            'column' => 'post_modified',
            'year'  => $day_parsed['year'],
            'month' => $day_parsed['month'],
            'day'   => $day_parsed['day'],
        )
    );

    $query_day_posts = new WP_Query( $args );

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM