| Server IP : 82.208.35.60 / Your IP : 216.73.217.116 Web Server : Apache/2.4.55 (FreeBSD) OpenSSL/1.1.1q-freebsd PHP/7.3.31 System : FreeBSD server7.d2m.cz 12.4-RELEASE-p9 FreeBSD 12.4-RELEASE-p9 GENERIC amd64 User : studiokobylisy_cz ( 1008) PHP Version : 7.3.31 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : OFF | Perl : OFF | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : /home/d2m/sofident_cz/wp-content/plugins/acfml/classes/strategy/repeater-shuffle/ |
Upload File : |
<?php
namespace ACFML\Repeater\Shuffle;
class Term extends Strategy {
/**
* @var string
*/
protected $id_prefix = 'term_';
/**
* @var null
*/
protected $taxonomy;
/**
* Term constructor.
*
* @param null $taxonomy
*/
public function __construct( $taxonomy = null ) {
$this->taxonomy = $taxonomy;
}
/**
* @param mixed $id
*
* @return bool
*/
public function isValidId( $id ) {
return strpos( $id, $this->id_prefix ) === 0 && $this->getNumericId( $id ) > 0;
}
/**
* Get value object for given term ID.
*
* @param string $id The element ID with "term_" at the beginning.
* @return object|null Value object with id and type or null when element not found.
*/
protected function getElement( $id ) {
if ( $this->isValidId( $id ) ) {
$id = $this->getNumericId( $id );
$term = get_term_by( 'id', $id );
if ( isset( $term->taxonomy ) ) {
return (object) [
'id' => $id,
'type' => $term->taxonomy,
];
}
}
}
/**
* @param int $id
*
* @return mixed
*/
public function getAllMeta( $id ) {
return get_term_meta( $this->getNumericId( $id ) );
}
/**
* @param int $id
* @param string $key
* @param bool $single
*
* @return mixed
*/
public function getOneMeta( $id, $key, $single = true ) {
return get_term_meta( $this->getNumericId( $id ), $key, $single );
}
/**
* @param int $id
* @param string $key
*
* @return mixed|void
*/
public function deleteOneMeta( $id, $key ) {
delete_term_meta( $this->getNumericId( $id ), $key );
}
/**
* @param int $id
* @param string $key
* @param mixed $val
*
* @return mixed|void
*/
public function updateOneMeta( $id, $key, $val ) {
update_term_meta( $this->getNumericId( $id ), $key, $val );
}
/**
* @param null $id
*
* @return mixed|void
*/
protected function get_element_type( $id = null ) {
return apply_filters( 'wpml_element_type', $this->taxonomy );
}
}