我有一个有1000多篇帖子的网站,最近添加了一个新的自定义字段(带有ACF),很明显,post\\u元数据不会被激活,直到我浏览了每一篇帖子并用一个值更新它。
所以我找到了这个代码:
function my_acf_load_value( $value, $post_id, $field ) {
$value = get_the_title();
return $value;
}
add_filter(\'acf/load_value/name=amazon_keywords\', \'my_acf_load_value\', 10, 3);
它将字段的默认值设置为wp标题,因此当我转到帖子时,帖子标题已经输入到自定义字段中,可以保存。
考虑到这一点,我是否可以做到这一点,而不必进入每个帖子并重新保存它?比如批量更新?我试图从post listings屏幕进行批量更新,但它似乎没有执行自定义字段的保存。
SO网友:mmm
您可以使用以下代码为帖子添加新的批量操作:
$postType = "post";
add_filter("bulk_actions-edit-" . $postType, function ($actions) {
$actions["specialSave"] = "Special save";
return $actions;
}, 20);
add_filter("handle_bulk_actions-edit-" . $postType, function ($sendback, $doaction, $post_ids) {
if ("specialSave" !== $doaction) {
return;
}
foreach ($post_ids as $idPost) {
// action to do for each selected post
}
return $sendback;
}, 10, 3);
只是简单的保存还不足以设置值,您可以使用此代码直接为每个选定的帖子设置值。