WP_QUERY ORDERBY已修改为包含自定义元更改

时间:2017-07-20 作者:Harmonic

我有一个自定义的post类型,其中包含一组自定义的meta值。我想显示一个列表,显示最近修改的10篇文章。

我的查询参数如下所示

$args = array(
    \'post_type\'              => array( \'post_type_harmonic\' ),
    \'posts_per_page\'         => \'10\',
    \'orderby\'                => \'modified\',
    \'order\'                  => \'DESC\', 
);
问题是帖子的顺序似乎是发布日期,而不是修改日期。

我需要:

A) 修改查询,使“修改”还包括更新/更改的自定义元值,或

B) 也许问题是当我更新一个元值时

update_post_meta( $data, \'hd_meta_key\', $today.\' : The Post Was Accessed\' );
Wordpress不将此视为帖子“修改”。也许有一种方法可以更新这个?可能正在更新the_content 是否有一种方法可以诱使WordPress更新修改日期?

提前感谢!

1 个回复
SO网友:Harmonic

看来我走对了方向。

使用update_post_meta 不会更新帖子的修改日期,所以你要做的就是更新帖子的内容。

幸运的是,我没有使用内容,只使用自定义元。因此,每当我更新post meta works时,都会使用随机字符串更新内容。如果您也在使用内容,那么可能也可以使用相同的值更新内容(就像WordPress在标记为已修改时不检查内容是否实际更改)。

对于那些想知道的人,下面是更新帖子内容的代码。

$my_post = array(
    \'ID\'           => $postID,
    \'post_title\'   => \'title of the post\',
    \'post_content\' => \'content of the post\',
);

// Update the post into the database
wp_update_post( $my_post ); 
我希望这对其他人有所帮助,因为我认为更新元数据不计入修改后日期是愚蠢的:(

结束

相关推荐

未定义变量:WooCommerce_loop

今天,我更新了woocommerce插件,在我的网站上发现以下错误:未定义变量:woocommerce\\u loop我的循环看起来像(对archive-product template 一年前):<?php $newReleasesCounter = 0; $loop = new WP_Query( $args_new_releases ); while ( $loop->have_posts() ) : $loop->the_post(); global $p