tainacan/docs/class-reference-fields.md

9.8 KiB

Fields

Field Repository

class Fields extends Repository

Class Fields

protected function __construct()

Register specific hooks for field repository

public function get_cpt_labels()

Get the labels for the custom post type of this repository Returns: array — Labels in the format expected by register_post_type()

public function get_default_metadata_attribute()

constant used in default field in attribute collection_id

Returns: string — the value of constant

public function register_field_type( $class_name )

register field types class on array of types

Parameters:

  • string — $class_name — | object The class name or the instance

public function unregister_field_type( $class_name )

register field types class on array of types

Parameters:

  • string — $class_name — | object The class name or the instance

public function fetch( $args, $output = null )

fetch field based on ID or WP_Query args

field are stored as posts. Check WP_Query docs to learn all args accepted in the $args parameter (@see https://developer.wordpress.org/reference/classes/wp_query/) You can also use a mapped property, such as name and description, as an argument and it will be mapped to the appropriate WP_Query argument

Parameters:

  • $args — array — WP_Query args || int $args the field id
  • $output — string — The desired output format (@see \Tainacan\Repositories\Repository::fetch_output() for possible values)

Returns: Entities\Field|\WP_Query|Array — an instance of wp query OR array of entities;

public function fetch_by_collection(Entities\Collection $collection, $args = [], $output = null)

fetch field by collection, searches all field available

Parameters:

  • $collection — Entities\Collection
  • $args — array — WP_Query args plus disabled_fields
  • $output — string — The desired output format (@see \Tainacan\Repositories\Repository::fetch_output() for possible values)

Returns: array — Entities\Field

public function order_result( $result, Entities\Collection $collection, $include_disabled = false )

Ordinate the result from fetch response if $collection has an ordination, fields not ordinated appear on the end of the list

Parameters:

  • Response — $result — from method fetch
  • $collection — Entities\Collection
  • $include_disabled — bool — Wether to include disabled fields in the results or not

Returns: array — or WP_Query ordinate

public function insert($field)

{@inheritDoc} Parameters:

  • $field — \Tainacan\Entities\Field

Returns: \Tainacan\Entities\Field

public function update($object, $new_values = null)

Returns: mixed|string|Entities\Entity

public function fetch_field_types( $output = 'CLASS')

fetch all registered field type classes

Possible outputs are: CLASS (default) - returns the Class name of of field types registered NAME - return an Array of the names of field types registered

Parameters:

  • string — $output — CLASS | NAME

Returns: array — of Entities\Field_Types\Field_Type classes path name

public function register_core_fields( Entities\Collection $collection )

Parameters:

  • $collection — Entities\Collection

Returns: bool

public function disable_delete_core_fields( $before, $post )

block user from remove core fields

Parameters:

  • wordpress — $before — pass a null value
  • the — $post — post which is moving to trash

Returns: null/bool

public function force_delete_core_fields( $before, $post, $force_delete )

block user from remove core fields ( if use wp_delete_post)

Parameters:

  • wordpress — $before — pass a null value
  • the — $post — post which is deleting
  • a — $force_delete — boolean that force the deleting

Returns: null — /bool

public function get_core_fields( Entities\Collection $collection )

returns all core items from a specific collection

Parameters:

  • $collection — Entities\Collection

Returns: Array|\WP_Query

public function insert_array_field( $data )

create a field entity and insert by an associative array ( attribute => value )

Parameters:

  • $data — Array — the array of attributes to insert a field

Returns: int — the field id inserted

public function fetch_all_field_values($collection_id, $field_id)

Fetch all values of a field from a collection in all it collection items

Returns: array|null|object

private function pre_update_category_field($field)

Stores the value of the taxonomy_id option to use on update_category_field method.

private function update_category_field($field)

Triggers hooks when saving a Category Field, indicating wich taxonomy was added or removed from a collection.

This is used by Taxonomies repository to update the collections_ids property of the taxonomy as a field type category is inserted or removed

Parameters:

  • $field — [type] — [description]

Returns: [type] — [description]

Field Entity

class Field extends Entity

Represents the Entity Field

protected $repository = 'Fields'

{@inheritDoc}

function get_name()

Return the field name

Returns: string

function get_slug()

Get field slug

Returns: string

function get_order()

Return the field order type

Returns: string

function get_parent()

Return the parent ID

Returns: string

function get_description()

Return the field description

Returns: string

function get_required()

Return if is a required field

Returns: boolean

function get_multiple()

Return if is a multiple field

Returns: boolean

function get_cardinality()

Return the cardinality

Returns: string

function get_collection_key()

Return if field is key

Returns: boolean

function get_mask()

Return the mask

Returns: string

function get_default_value()

Return the field default value

Returns: string — || integer

function get_field_type_object()

Return the an object child of \Tainacan\Field_Types\Field_Type with options

Returns: \Tainacan\Field_Types\Field_Type — The field type class with filled options

function get_field_type()

Return the class name for the field type

Returns: string — The

function get_field_type_options()

Return the actual options for the current field type

Returns: array — Configurations for the field type object

function set_name($value)

Set the field name

Parameters:

  • $value — [string]

Returns: void

function get_accept_suggestion()

Return true if this field allow community suggestions, false otherwise Returns: bool

function set_slug($value)

Set the field slug

If you dont set the field slug, it will be set automatically based on the name and following WordPress default behavior of creating slugs for posts.

If you set the slug for an existing one, WordPress will append a number at the end of in order to make it unique (e.g slug-1, slug-2)

Parameters:

  • $value — [string]

Returns: void

function set_order($value)

Set manually the order of the field

Parameters:

  • $value — [string]

Returns: void

function set_parent($value)

Set the field parent ID

Parameters:

  • $value — [integer] — The ID from parent

Returns: void

function set_description($value)

Set field description

Parameters:

  • $value — [string] — The text description

Returns: void

function set_required( $value )

Allow the field be required

Parameters:

  • $value — [boolean]

Returns: void

function set_multiple( $value )

Allow multiple fields

Parameters:

  • $value — [boolean]

Returns: void

function set_cardinality( $value )

The number of possible fields

Parameters:

  • $value — [string]

Returns: void

function set_collection_key( $value )

Define if the value is key on the collection

Parameters:

  • $value — [string]

Returns: void

function set_mask( $value )

Set mask for the field

Parameters:

  • $value — [string]

Returns: void

function set_privacy( $value )

Set privacy

Parameters:

  • $value — [string]

Returns: void

function set_default_value( $value )

Set default value

Parameters:

  • || — [string — integer] $value

Returns: void

public function set_field_type( $value )

set the field type class name

Parameters:

  • | — string — \Tainacan\Field_Types\Field_Type $value The name of the class or the instance

function set_accept_suggestion( $value )

Set if this field allow community suggestions Parameters:

  • $value — bool

function set_field_type_options( $value )

Set Field type options

Parameters:

  • || — [string — integer] $value

Returns: void

public function get_enabled_for_collection()

Transient property used to store the status of the field for a particular collection

Used by the API to tell front end when a field is disabled

function is_multiple()

Return true if is multiple, else return false

Returns: boolean

function is_collection_key()

Return true if is collection key, else return false

Returns: boolean

function is_required()

Return true if is required, else return false

Returns: boolean

public function validate()

{@inheritdoc }

Also validates the field, calling the validate_options callback of the Field Type

Returns: bool — valid or not