WordPress как на ладони
Недорогой хостинг для сайтов на WordPress: wordpress.jino.ru Авторские Темы для WordPress
функция не описана

ACF_Admin_Field_Groups::check_sync() public ACF 5.9.0

Checks for the custom "acfsync" action.

{} Это метод класса: ACF_Admin_Field_Groups{}

Хуков нет.

Возвращает

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 5.9.1

<?php
public function check_sync() {
	
	// Display notice on success redirect.
	if( isset($_GET['acfsynccomplete']) ) {
		$ids = array_map( 'intval', explode(',', $_GET['acfsynccomplete']) );
		
		// 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;
	}
}