ACF_Admin_Field_Groups::check_sync()
Checks for the custom "acfsync" action.
Метод класса: ACF_Admin_Field_Groups{}
Хуков нет.
Возвращает
null
. Ничего (null).
Использование
$ACF_Admin_Field_Groups = new ACF_Admin_Field_Groups(); $ACF_Admin_Field_Groups->check_sync();
Список изменений
С версии 5.9.0 | Введена. |
Код ACF_Admin_Field_Groups::check_sync() ACF Admin Field Groups::check sync ACF 6.0.4
public function check_sync() { // phpcs:disable WordPress.Security.NonceVerification.Recommended // Display notice on success redirect. if ( isset( $_GET['acfsynccomplete'] ) ) { $ids = array_map( 'intval', explode( ',', $_GET['acfsynccomplete'] ) ); // phpcs:ignore WordPress.Security.ValidatedSanitizedInput.InputNotSanitized -- Sanitized with intval(). // phpcs:enable WordPress.Security.NonceVerification.Recommended // Generate text. $text = sprintf( _n( 'Field group synchronised.', '%s field groups synchronised.', count( $ids ), 'acf' ), count( $ids ) ); // Append links to text. $links = array(); foreach ( $ids as $id ) { $links[] = '<a href="' . get_edit_post_link( $id ) . '">' . get_the_title( $id ) . '</a>'; } $text .= ' ' . implode( ', ', $links ); // Add notice. acf_add_admin_notice( $text, 'success' ); return; } // Find items to sync. $keys = array(); if ( isset( $_GET['acfsync'] ) ) { $keys[] = sanitize_text_field( $_GET['acfsync'] ); } elseif ( isset( $_GET['post'], $_GET['action2'] ) && $_GET['action2'] === 'acfsync' ) { $keys = array_map( 'sanitize_text_field', $_GET['post'] ); } if ( $keys && $this->sync ) { check_admin_referer( 'bulk-posts' ); // Disabled "Local JSON" controller to prevent the .json file from being modified during import. acf_update_setting( 'json', false ); // Sync field groups and generate array of new IDs. $files = acf_get_local_json_files(); $new_ids = array(); foreach ( $this->sync as $key => $field_group ) { if ( $field_group['key'] && in_array( $field_group['key'], $keys ) ) { // Import. } elseif ( $field_group['ID'] && in_array( $field_group['ID'], $keys ) ) { // Import. } else { // Ignore. continue; } $local_field_group = json_decode( file_get_contents( $files[ $key ] ), true ); $local_field_group['ID'] = $field_group['ID']; $result = acf_import_field_group( $local_field_group ); $new_ids[] = $result['ID']; } // Redirect. wp_redirect( $this->get_current_admin_url( '&acfsynccomplete=' . implode( ',', $new_ids ) ) ); exit; } }