File: //proc/self/cwd/wp-content/plugins/wordpress-seo/admin/taxonomy/class-taxonomy-fields.php
<?php
/**
* @package WPSEO\Admin
*/
/**
* Class WPSEO_Taxonomy_Tab
*
* Contains the basics for each class extending this one.
*/
abstract class WPSEO_Taxonomy_Fields {
/**
* The Yoast SEO configuration from the WPSEO_Options
*
* @var array
*/
protected $options = array();
/**
* The current term data
*
* @var stdClass
*/
protected $term;
/**
* Setting the class properties
*
* @param stdClass $term The current term.
* @param array $options The options.
*/
public function __construct( $term, array $options = null ) {
$this->term = $term;
if ( $options !== null ) {
$this->options = $options;
}
else {
$this->options = WPSEO_Options::get_options( array(
'wpseo_titles',
'wpseo_internallinks',
'wpseo_social',
) );
}
}
/**
* This method should return the fields
*
* @return array
*/
abstract public function get();
/**
* Returns array with the field data
*
* @param string $label The label displayed before the field.
* @param string $description Description which will explain the field.
* @param string $type The field type, for example: input, select.
* @param string|array $options Optional. Array with additional options.
* @param bool $hide Should the field be hidden.
*
* @return array
*/
protected function get_field_config( $label, $description, $type = 'text', $options = '', $hide = false ) {
return array(
'label' => $label,
'description' => $description,
'type' => $type,
'options' => $options,
'hide' => $hide,
);
}
/**
* Filter the hidden fields.
*
* @param array $fields Array with the form fields that has will be filtered.
*
* @return array
*/
protected function filter_hidden_fields( array $fields ) {
foreach ( $fields as $field_name => $field_options ) {
if ( ! empty( $field_options['hide'] ) ) {
unset( $fields[ $field_name ] );
}
}
return $fields;
}
}