Current File : /home/kelaby89/abl.academy/wp-content/plugins/thim-elementor-kit/inc/class-shortcode.php |
<?php
namespace Thim_EL_Kit;
class Shortcode {
use SingletonTrait;
const SHORTCODE_NAME = 'thim_ekit';
public function __construct() {
add_shortcode( self::SHORTCODE_NAME, array( $this, 'template_shortcode' ) );
}
public function template_shortcode( array $atts ) {
$atts = shortcode_atts(
array(
'id' => '',
),
$atts,
self::SHORTCODE_NAME
);
$id = ! empty( $atts['id'] ) ? apply_filters( 'thim_ekit/shortcode/id', absint( $atts['id'] ) ) : '';
if ( empty( $id ) ) {
return '';
}
$post = get_post( $id );
if ( empty( $post ) ) {
return '';
}
$user_id = get_current_user_id();
if ( $post->post_status == 'private'
&& $user_id != $post->post_author ) {
return '';
} elseif ( post_password_required( $post )
&& $user_id != $post->post_author ) {
return get_the_password_form();
}
if ( class_exists( '\Elementor\Core\Files\CSS\Post' ) ) {
$css_class = new \Elementor\Core\Files\CSS\Post( $id );
} elseif ( class_exists( '\Elementor\Post_CSS_File' ) ) {
$css_class = new \Elementor\Post_CSS_File( $id );
}
if ( ! empty( $css_class ) ) {
$css_class->enqueue();
}
return \Elementor\Plugin::instance()->frontend->get_builder_content_for_display( $id );
}
}
Shortcode::instance();