ACF_Location{}ACF 1.0

Хуков нет.

Использование

$ACF_Location = new ACF_Location();
// use class methods

Методы

  1. public __construct()
  2. public compare_to_rule( $value, $rule )
  3. public get_object_subtype( $rule )
  4. public get_object_type( $rule )
  5. public static get_operators( $rule )
  6. public get_values( $rule )
  7. public initialize()
  8. public match( $rule, $screen, $field_group )

Код ACF_Location{} ACF 5.10.2

abstract class ACF_Location extends ACF_Legacy_Location {

	/**
	 * The location rule name.
	 *
	 * @since 5.9.0
	 * @var string
	 */
	public $name = '';

	/**
	 * The location rule label.
	 *
	 * @since 5.9.0
	 * @var string
	 */
	public $label = '';

	/**
	 * The location rule category.
	 *
	 * Accepts "post", "page", "user", "forms" or a custom label.
	 *
	 * @since 5.9.0
	 * @var string
	 */
	public $category = 'post';

	/**
	 * Whether or not the location rule is publicly accessible.
	 *
	 * @since 5.0.0
	 * @var bool
	 */
	public $public = true;

	/**
	 * The object type related to this location rule.
	 *
	 * Accepts an object type discoverable by `acf_get_object_type()`.
	 *
	 * @since 5.9.0
	 * @var string
	 */
	public $object_type = '';

	/**
	 * The object subtype related to this location rule.
	 *
	 * Accepts a custom post type or custom taxonomy.
	 *
	 * @since 5.9.0
	 * @var string
	 */
	public $object_subtype = '';

	/**
	 * Constructor.
	 *
	 * @date    8/4/20
	 * @since   5.9.0
	 *
	 * @param   void
	 * @return  void
	 */
	public function __construct() {
		$this->initialize();

		// Call legacy constructor.
		parent::__construct();
	}

	/**
	 * Initializes props.
	 *
	 * @date    5/03/2014
	 * @since   5.0.0
	 *
	 * @param   void
	 * @return  void
	 */
	public function initialize() {
		// Set props here.
	}

	/**
	 * Returns an array of operators for this location.
	 *
	 * @date    9/4/20
	 * @since   5.9.0
	 *
	 * @param   array $rule A location rule.
	 * @return  array
	 */
	public static function get_operators( $rule ) {
		return array(
			'==' => __( 'is equal to', 'acf' ),
			'!=' => __( 'is not equal to', 'acf' ),
		);
	}

	/**
	 * Returns an array of possible values for this location.
	 *
	 * @date    9/4/20
	 * @since   5.9.0
	 *
	 * @param   array $rule A location rule.
	 * @return  array
	 */
	public function get_values( $rule ) {
		return array();
	}

	/**
	 * Returns the object_type connected to this location.
	 *
	 * @date    1/4/20
	 * @since   5.9.0
	 *
	 * @param   array $rule A location rule.
	 * @return  string
	 */
	public function get_object_type( $rule ) {
		return $this->object_type;
	}

	/**
	 * Returns the object_subtype connected to this location.
	 *
	 * @date    1/4/20
	 * @since   5.9.0
	 *
	 * @param   array $rule A location rule.
	 * @return  string|array
	 */
	public function get_object_subtype( $rule ) {
		return $this->object_subtype;
	}

	/**
	 * Matches the provided rule against the screen args returning a bool result.
	 *
	 * @date    9/4/20
	 * @since   5.9.0
	 *
	 * @param   array $rule The location rule.
	 * @param   array $screen The screen args.
	 * @param   array $field_group The field group settings.
	 * @return  bool
	 */
	public function match( $rule, $screen, $field_group ) {
		return false;
	}

	/**
	 * Compares the given value and rule params returning true when they match.
	 *
	 * @date    17/9/19
	 * @since   5.8.1
	 *
	 * @param   array $rule The location rule data.
	 * @param   mixed $value The value to compare against.
	 * @return  bool
	 */
	public function compare_to_rule( $value, $rule ) {
		$result = ( $value == $rule['value'] );

		// Allow "all" to match any value.
		if ( $rule['value'] === 'all' ) {
			$result = true;
		}

		// Reverse result for "!=" operator.
		if ( $rule['operator'] === '!=' ) {
			return ! $result;
		}
		return $result;
	}
}