我有一个从页面获取元数据的函数。这个数据存储在名为“score_provider”的自定义字段中。
function my_acf_load_field( $field ) {
global $post;
if ( 0 !== (int) $post->post_parent )
{
$some_value = get_post_meta( $post->post_parent, 'rwp_user_score', true );
if ( ! empty ( $some_value ) )
switch ( $field['name'] ) {
case 'score_provider':
$field['value'] = '' . $some_value .'';
break;
}
}
return $field;
}
add_filter('acf/load_field', 'my_acf_load_field');
像魅力一样工作,但我在更新此自定义字段的值时遇到问题。
仅当我(或用户)打开页面时,对页面进行一些更改并再次保存,自定义字段将使用新值更新。
此案例中的值是页面/提供者的平均分数。元字段是“rwp_user_score”,当提交新评论时,此值会更改。
现在在这个插件的文档中,他们正在谈论这个功能:
rwp_after_saving_review
它将在审核过程完成之前执行,因此审核成功存储在数据库中之后。它接受两个参数:审阅本身和标识数据库中行的后元ID。
function rex_my_action ($review, $post_id) {
// Build your action after the review is saved.
}
add_action('rwp_after_saving_review', 'rex_my_action', 11, 2);
所以也许我可以在提交新评论时在自定义字段中保存或发布新的元数据。
不知道这是否可能,即使是这样,我也不知道从哪里开始。我尝试了一些高级自定义字段的功能,但没有运气......