php ACF关系字段的双向功能
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php ACF关系字段的双向功能相关的知识,希望对你有一定的参考价值。
<?php
/* ========================================================================= */
/* !BIDIRECTIONAL RELATIONSHIP */
/* ========================================================================= */
function bidirectional_acf_update_value( $value, $post_id, $field ) {
// vars
$field_name = $field['name'];
$global_name = 'is_updating_' . $field_name;
if( !empty($GLOBALS[ $global_name ]) ) return $value;
$GLOBALS[ $global_name ] = 1;
if( is_array($value) ) {
foreach( $value as $post_id2 ) {
$value2 = get_field($field_name, $post_id2, false);
if( empty($value2) ) {
$value2 = array();
}
if( in_array($post_id, $value2) ) continue;
$value2[] = $post_id;
update_field($field_name, $value2, $post_id2);
}
}
$old_value = get_field($field_name, $post_id, false);
if( is_array($old_value) ) {
foreach( $old_value as $post_id2 ) {
if( is_array($value) && in_array($post_id2, $value) ) continue;
$value2 = get_field($field_name, $post_id2, false);
if( empty($value2) ) continue;
$pos = array_search($post_id, $value2);
unset( $value2[ $pos] );
update_field($field_name, $value2, $post_id2);
}
}
$GLOBALS[ $global_name ] = 0;
return $value;
}
add_filter('acf/update_value/name=YOUR_FIELD_NAME_HERE', 'bidirectional_acf_update_value', 10, 3);
以上是关于php ACF关系字段的双向功能的主要内容,如果未能解决你的问题,请参考以下文章
每页 ACF 关系字段帖子
Wordpress ACF php 关系
如何在 GraphQL 中访问 ACF 关系字段中的自定义字段?
php PHP - Wordpress - 搜索 - wordpress自定义搜索功能,包含ACF /高级自定义字段和分类法以及拆分表达式
php PHP - Wordpress - 搜索 - wordpress自定义搜索功能,包含ACF /高级自定义字段和分类法以及拆分表达式
php PHP - Wordpress - 搜索 - wordpress自定义搜索功能,包含ACF /高级自定义字段和分类法以及拆分表达式