| Server IP : 104.21.28.229 / Your IP : 216.73.216.142 Web Server : Apache/2 System : Linux hosting8537.lvs 5.4.0-216-generic #236-Ubuntu SMP Fri Apr 11 19:53:21 UTC 2025 x86_64 User : mienphi ( 1014) PHP Version : 8.2.14 Disable Function : exec,system,passthru,shell_exec,proc_close,proc_open,dl,popen,show_source,posix_kill,posix_mkfifo,posix_getpwuid,posix_setpgid,posix_setsid,posix_setuid,posix_setgid,posix_seteuid,posix_setegid,posix_uname MySQL : OFF | cURL : ON | WGET : OFF | Perl : OFF | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : /home/mienphi/public_html/wp-content/plugins/learnpress/inc/abstracts/ |
Upload File : |
<?php
/**
* Abstract Class for Shortcodes.
*
* @author ThimPress
* @category Abstract
* @package Learnpress/Classes
* @version 3.0.0
*/
/**
* Prevent loading this file directly
*/
defined( 'ABSPATH' ) || exit();
if ( ! class_exists( 'LP_Abstract_Shortcode' ) ) {
/**
* Class LP_Abstract_Shortcode
*/
abstract class LP_Abstract_Shortcode {
/**
* Shortcode attributes.
*
* @var array|null
*/
protected $_atts = null;
/**
* @var string
*/
protected $_name = '';
/**
* LP_Abstract_Shortcode constructor.
*
* @param mixed $atts
*/
public function __construct( $atts = '' ) {
$this->_atts = (array) $atts;
}
/**
* Return content of the shortcode.
*
* @return mixed
*/
abstract function output();
/**
* Get shortcode attributes.
*
* @return mixed
*/
public function get_atts() {
return apply_filters( 'learn-press/shortcode-' . $this->get_name() . '-atts', $this->_atts );
}
/**
* Get default name of shortcode (without prefix learn_press_) if it is not set.
*
* @return mixed|string
*/
public function get_name() {
if ( ! $this->_name ) {
if ( preg_match( '~^lp_(.*)_shortcode$~i', get_class( $this ), $m ) ) {
$this->_name = preg_replace( '~_~', '-', strtolower( $m[1] ) );
}
}
return $this->_name;
}
/**
* Convert to string
*
* @return mixed
*/
public function __toString() {
return $this->output();
}
}
}