116 lines
		
	
	
		
			2.7 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			116 lines
		
	
	
		
			2.7 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
| <?php
 | |
| namespace ElementorPro\Modules\ThemeBuilder\Widgets;
 | |
| 
 | |
| use Elementor\Controls_Manager;
 | |
| use Elementor\Core\Kits\Documents\Tabs\Global_Colors;
 | |
| use Elementor\Core\Kits\Documents\Tabs\Global_Typography;
 | |
| use Elementor\Group_Control_Typography;
 | |
| use ElementorPro\Base\Base_Widget;
 | |
| use ElementorPro\Modules\Posts\Skins\Skin_Content_Base;
 | |
| 
 | |
| if ( ! defined( 'ABSPATH' ) ) {
 | |
| 	exit; // Exit if accessed directly
 | |
| }
 | |
| 
 | |
| class Post_Content extends Base_Widget {
 | |
| 	use Skin_Content_Base;
 | |
| 	public function get_name() {
 | |
| 		// `theme` prefix is to avoid conflicts with a dynamic-tag with same name.
 | |
| 		return 'theme-post-content';
 | |
| 	}
 | |
| 
 | |
| 	public function get_title() {
 | |
| 		return esc_html__( 'Post Content', 'elementor-pro' );
 | |
| 	}
 | |
| 
 | |
| 	public function get_icon() {
 | |
| 		return 'eicon-post-content';
 | |
| 	}
 | |
| 
 | |
| 	public function get_categories() {
 | |
| 		return [ 'theme-elements-single' ];
 | |
| 	}
 | |
| 
 | |
| 	public function get_keywords() {
 | |
| 		return [ 'content', 'post' ];
 | |
| 	}
 | |
| 
 | |
| 	public function show_in_panel() {
 | |
| 		// By default don't show.
 | |
| 		return false;
 | |
| 	}
 | |
| 
 | |
| 	protected function register_controls() {
 | |
| 		$this->start_controls_section(
 | |
| 			'section_style',
 | |
| 			[
 | |
| 				'label' => esc_html__( 'Style', 'elementor-pro' ),
 | |
| 				'tab' => Controls_Manager::TAB_STYLE,
 | |
| 			]
 | |
| 		);
 | |
| 
 | |
| 		$this->add_responsive_control(
 | |
| 			'align',
 | |
| 			[
 | |
| 				'label' => esc_html__( 'Alignment', 'elementor-pro' ),
 | |
| 				'type' => Controls_Manager::CHOOSE,
 | |
| 				'options' => [
 | |
| 					'left' => [
 | |
| 						'title' => esc_html__( 'Left', 'elementor-pro' ),
 | |
| 						'icon' => 'eicon-text-align-left',
 | |
| 					],
 | |
| 					'center' => [
 | |
| 						'title' => esc_html__( 'Center', 'elementor-pro' ),
 | |
| 						'icon' => 'eicon-text-align-center',
 | |
| 					],
 | |
| 					'right' => [
 | |
| 						'title' => esc_html__( 'Right', 'elementor-pro' ),
 | |
| 						'icon' => 'eicon-text-align-right',
 | |
| 					],
 | |
| 					'justify' => [
 | |
| 						'title' => esc_html__( 'Justified', 'elementor-pro' ),
 | |
| 						'icon' => 'eicon-text-align-justify',
 | |
| 					],
 | |
| 				],
 | |
| 				'selectors' => [
 | |
| 					'{{WRAPPER}}' => 'text-align: {{VALUE}};',
 | |
| 				],
 | |
| 			]
 | |
| 		);
 | |
| 
 | |
| 		$this->add_control(
 | |
| 			'text_color',
 | |
| 			[
 | |
| 				'label' => esc_html__( 'Text Color', 'elementor-pro' ),
 | |
| 				'type' => Controls_Manager::COLOR,
 | |
| 				'default' => '',
 | |
| 				'selectors' => [
 | |
| 					'{{WRAPPER}}' => 'color: {{VALUE}};',
 | |
| 				],
 | |
| 				'global' => [
 | |
| 					'default' => Global_Colors::COLOR_TEXT,
 | |
| 				],
 | |
| 			]
 | |
| 		);
 | |
| 
 | |
| 		$this->add_group_control(
 | |
| 			Group_Control_Typography::get_type(),
 | |
| 			[
 | |
| 				'name' => 'typography',
 | |
| 				'global' => [
 | |
| 					'default' => Global_Typography::TYPOGRAPHY_TEXT,
 | |
| 				],
 | |
| 			]
 | |
| 		);
 | |
| 
 | |
| 		$this->end_controls_section();
 | |
| 	}
 | |
| 
 | |
| 	protected function render() {
 | |
| 		// Post CSS should not be printed here because it overrides the already existing post CSS.
 | |
| 		$this->render_post_content( false, false );
 | |
| 	}
 | |
| 
 | |
| 	public function render_plain_content() {}
 | |
| }
 |