反转管理区域中转发器字段的顺序 - 高级自定义字段
Reverse the order of repeater field in admin area - advanced customfields
是否有一种干净的方法来反转管理区域中 ACF 转发器行的顺序?
我知道如何使用 PHP 查询在前端反转行。
但我正在寻找一种干净的方法来反转管理区域中的顺序。
这可能吗?我该怎么做?
所以,答案很简单。它一直盯着我的脸。
将其放入您的子主题 functions.php 文件或用于控制此文件的首选文件
function my_acf_load_value( $value, $post_id, $field ) {
$order = array();
if( empty($value) ) {
return $value;
}
// populate order
// Remember to change the field_5a4d0e70a5d3f to the field that you want to sort by
foreach( $value as $i => $row ) {
$order[ $i ] = $row['field_5a4d0e70a5d3f'];
}
array_multisort( $order, SORT_DESC, $value );
return $value;
}
// Remember to change "book_repeater" to your repeater field name
add_filter('acf/load_value/name=book_repeater', 'my_acf_load_value', 10, 3);
现在您的转发器字段将按 field_5a4d0e70a5d3f
排序
排序方向有几个选项,它们是:SORT_ASC、SORT_DESC、SORT_REGULAR、SORT_NUMERIC、SORT_STRING。
是否有一种干净的方法来反转管理区域中 ACF 转发器行的顺序?
我知道如何使用 PHP 查询在前端反转行。
但我正在寻找一种干净的方法来反转管理区域中的顺序。
这可能吗?我该怎么做?
所以,答案很简单。它一直盯着我的脸。
将其放入您的子主题 functions.php 文件或用于控制此文件的首选文件
function my_acf_load_value( $value, $post_id, $field ) {
$order = array();
if( empty($value) ) {
return $value;
}
// populate order
// Remember to change the field_5a4d0e70a5d3f to the field that you want to sort by
foreach( $value as $i => $row ) {
$order[ $i ] = $row['field_5a4d0e70a5d3f'];
}
array_multisort( $order, SORT_DESC, $value );
return $value;
}
// Remember to change "book_repeater" to your repeater field name
add_filter('acf/load_value/name=book_repeater', 'my_acf_load_value', 10, 3);
现在您的转发器字段将按 field_5a4d0e70a5d3f
排序方向有几个选项,它们是:SORT_ASC、SORT_DESC、SORT_REGULAR、SORT_NUMERIC、SORT_STRING。