如何获取帖子创建日期?

时间:2015-02-04 作者:Max

我想先看看某篇文章的第一次修订版,然后再看看日期,对吗?

如何做到这一点?

5 个回复
SO网友:Pieter Goosen

这个post_datepost_date_gmt 用作创建帖子的日期。对于计划发布的帖子,这将是帖子计划发布的日期。

没有可靠的本机方法来确定添加计划帖子的日期。对于计划发布,您可以尝试post_modifiedpost_modified_gmt 这将与首次添加帖子的日期相对应。你必须记住,这是不可靠的,因为修改帖子时日期会改变

另一种(也是不可靠的)方法是使用修订。如果启用了修订,则在计划或发布帖子时,会保存帖子修订。该修订将在单击“计划”按钮时保存在计划发布之后,并保留单击“计划”按钮时的当前发布日期。检查下面的图片

enter image description here

如果您需要一种可靠的方法来执行此操作,则需要编写自己的自定义函数,以保存单击“计划”按钮以计划帖子的确切时间

SO网友:haze

我需要同样的信息,只是自己想出来的。您必须进行自定义查询才能获得第一个_wp_old_datepostmeta 表为dipak\\u pusti建议的。运行以下语句:

global $wpdb;
$post_id = 1234;
$meta_key = \'_wp_old_date\';
$post_create_date = $wpdb->get_var( $wpdb->prepare(
    "
        SELECT MIN($wpdb->postmeta.meta_value) as post_create_date
        FROM $wpdb->postmeta
        WHERE $wpdb->postmeta.post_id = %d
            AND $wpdb->postmeta.meta_key = %s
    ",
    $post_id,
    $meta_key
) );

if(is_null($post_create_date)) {
    $post_create_date = get_the_date(\'Y-m-d\', $post_id);
}

echo "<p>Post create date is: {$post_create_date}</p>";
注:如果_wp_old_dateNULL (这意味着发布日期从未更改)您可以使用get_the_date(\'Y-m-d\', $post_id).

SO网友:luukvhoudt

使用get_the_date(); 要获取“发布日期”字段中元框“发布”中定义的日期,这通常是用户创建帖子的日期,除非用户更改它。

SO网友:dipak_pusti

当我被困在和你一样的箱子里时,我发现了一个元钥匙_wp_old_date 使用表示日期的元值。

通过谷歌搜索,我发现有一个函数用于在更改帖子或对象时存储旧值。

https://wpseek.com/function/wp_check_for_changed_dates/

我知道,这是一个很晚的答案,但它可能会在将来帮助其他人。:)

SO网友:Revious

我根据其他答案写了一个查询。

SELECT p.post_title, 
       (SELECT Min(postmeta.meta_value) 
        FROM   wp_postmeta postmeta 
        WHERE  postmeta.post_id = p.id 
               AND postmeta.meta_key = \'_wp_old_date\') 
       "First publ from postmeta", 
       DATE(revisions.min_post_modified) 
       "First edit found in revisions", 
       DATE(revisions.min_post_date)                   min_post_date 
FROM   wp_posts p, 
       (SELECT post_parent, 
               Min(pr.post_modified) min_post_modified, 
               Min(pr.post_date)     min_post_date 
        FROM   wp_posts pr 
        GROUP  BY pr.post_parent) revisions 
WHERE  p.id = revisions.post_parent 

结束

相关推荐

搜索可处理多种帖子类型和类别的Pre_Get_Posts过滤器?

我有一个允许用户搜索多个自定义帖子类型(CPT)的搜索。这很好用。但我希望查询从每个CPT中排除特定的标记。例如,包括((不包括类别X的帖子)和所有post\\u类型“doc”的CPT),它们具有给定的搜索词。我知道如何使用taxonomy$args对新的WP\\U查询对象执行此操作。。。或者是一个普通的SQL查询,但我不知道如何使用$query->set()。也许有一种方法可以提供一个完整的分类数组。。。还是原始SQL查询?add_filter(\'pre_get_posts\',\'Search