如何在单独的自定义字段中更新发布日期(仅限年份)?

时间:2018-12-03 作者:Qjoey

我想用一个存储帖子发布年份的自定义字段更新我的所有帖子。

“年”值显然将从帖子的日期元数据中检索出来。

然后,我将使用存储的值查询带有特定插件的帖子。

到目前为止,我有这个,但不确定这段代码应该去哪里,是否需要修改!

$year_published = get_the_date( \'Y\' ); 
update_post_meta(get_the_ID(), \'year_date\', \'$year_published\' );

1 个回复
SO网友:Qjoey

因此,正如克里斯汀在评论中所建议的那样,我首先在寻找一种循环浏览现有帖子的方法。基于this answer, 我创建了一个基本插件,在激活时运行循环。

// Run the loop when the plugin is activated
register_activation_hook(__FILE__, \'update_my_metadata\');
function update_my_metadata(){
$args = array(
    \'post_type\' => \'post\', // Only get the posts
    \'post_status\' => \'publish\', // Only the posts that are published
    \'posts_per_page\'   => -1 // Get every post
);
$posts = get_posts($args);
foreach ( $posts as $post ) {
    // Run a loop and update every meta data
    $month=get_the_date(\'M\');
    $year=get_the_date(\'Y\');
    update_post_meta($post->ID, \'month-field\', $month); echo $month;
    update_post_meta($post->ID, \'year-field\', $year); echo $year;
 }
}
然而,当我检查post元字段时,月份和年份都只存储空字符串“”,而不是实际的日期值。

有什么建议吗?

相关推荐

UPDATE_POST_META()在与WordPress操作一起使用时不起作用

当post状态更改为“已发布”时,我正在尝试更新该字段。当我检查what update字段返回时,它正确地获取了值,但没有更新。它显示了一些数字。请帮忙,我不确定我是否应该将此与transition_post_statusUpdate - I have tried below hooks // 正在触发操作,但字段未更新1。publish //工作正常,但没有更新2。save_post &&;save_post_l //工作正常,但没有更新add_action(\'transition_pos