File "PostsTaxonomies.php"
Full Path: /home2/sdektunc/cepali.edu.mx/wp-content/plugins/smart-slider-3/Nextend/SmartSlider3/Generator/WordPress/Posts/Elements/PostsTaxonomies.php
File size: 1.73 KB
MIME-type: text/x-php
Charset: utf-8
<?php
namespace Nextend\SmartSlider3\Generator\WordPress\Posts\Elements;
use Nextend\Framework\Form\Element\Select;
class PostsTaxonomies extends Select {
protected $isMultiple = true;
protected $size = 10;
protected $postType = '';
protected $postSeparator = '_x_';
protected $skip = false;
public function __construct($insertAt, $name = '', $label = '', $default = '', array $parameters = array()) {
parent::__construct($insertAt, $name, $label, $default, $parameters);
$this->options['0'] = n2_('All');
$taxonomyNames = get_object_taxonomies($this->postType);
if ($this->skip) {
$skip = array(
'category',
'post_tag'
);
} else {
$skip = array();
}
foreach ($taxonomyNames as $taxonomyName) {
if (!in_array($taxonomyName, $skip)) {
$terms = get_terms(array(
'taxonomy' => $taxonomyName
));
if (count($terms)) {
$taxonomy = get_taxonomy($taxonomyName);
$options = array();
foreach ($terms as $term) {
$options[$taxonomy->name . $this->postSeparator . $term->term_id] = '- ' . $term->name;
}
$this->optgroup[$taxonomy->label] = $options;
}
}
}
}
/**
* @param string $postType
*/
public function setPostType($postType) {
$this->postType = $postType;
}
public function setPostSeparator($postSeparator) {
$this->postSeparator = $postSeparator;
}
public function setSkip($skip) {
$this->skip = $skip;
}
}