Create New Item
×
Item Type
File
Folder
Item Name
×
Search file in folder and subfolders...
File Manager
/
wp-content
/
plugins
/
advanced-custom-fields
/
includes
/
admin
Advanced Search
Upload
New Item
Settings
Back
Back Up
Advanced Editor
Save
<?php if (!defined('ABSPATH')) { exit; } if (!class_exists('acf_admin_tools')) { class acf_admin_tools { var $tools = array(); var $active = ''; function __construct() { add_action('admin_menu', array($this, 'admin_menu')); } function register_tool($class) { $instance = new $class(); $this->tools[$instance->name] = $instance; } function get_tool($name) { return isset($this->tools[$name]) ? $this->tools[$name] : null; } function get_tools() { return $this->tools; } function admin_menu() { if (!acf_get_setting('show_admin')) { return; } $page = add_submenu_page('edit.php?post_type=acf-field-group', __('Tools', 'acf'), __('Tools', 'acf'), acf_get_setting('capability'), 'acf-tools', array($this, 'html')); add_action('load-' . $page, array($this, 'load')); } function load() { acf_disable_filters(); $this->include_tools(); $this->check_submit(); acf_enqueue_scripts(); } function include_tools() { acf_include('includes/admin/tools/class-acf-admin-tool.php'); acf_include('includes/admin/tools/class-acf-admin-tool-export.php'); acf_include('includes/admin/tools/class-acf-admin-tool-import.php'); do_action('acf/include_admin_tools'); } function check_submit() { foreach ($this->get_tools() as $tool) { $tool->load(); if (acf_verify_nonce($tool->name)) { $tool->submit(); } } } function html() { $screen = get_current_screen(); $active = acf_maybe_get_GET('tool'); $view = array('screen_id' => $screen->id, 'active' => $active); foreach ($this->get_tools() as $tool) { if ($active && $active !== $tool->name) { continue; } add_meta_box('acf-admin-tool-' . $tool->name, acf_esc_html($tool->title), array($this, 'metabox_html'), $screen->id, 'normal', 'default', array('tool' => $tool->name)); } acf_get_view('html-admin-tools', $view); } function metabox_html($post, $metabox) { $tool = $this->get_tool($metabox['args']['tool']); ?> <form method="post"> <?php $tool->html(); ?> <?php acf_nonce_input($tool->name); ?> </form> <?php } } acf()->admin_tools = new acf_admin_tools(); } function acf_register_admin_tool($class) { return acf()->admin_tools->register_tool($class); } function acf_get_admin_tools_url() { return admin_url('edit.php?post_type=acf-field-group&page=acf-tools'); } function acf_get_admin_tool_url($tool = '') { return acf_get_admin_tools_url() . '&tool=' . $tool; }