Your IP : 216.73.216.123


Current Path : /home/smartbloks/.trash/docly-core/widgets/
Upload File :
Current File : /home/smartbloks/.trash/docly-core/widgets/Forums.php

<?php
namespace DoclyCore\Widgets;

use Elementor\Widget_Base;
use Elementor\Controls_Manager;
use Elementor\Scheme_Color;
use Elementor\Scheme_Typography;
use Elementor\Group_Control_Typography;
use Elementor\Group_Control_Text_Shadow;
use WP_Query;
use WP_Post;

// Exit if accessed directly
if ( ! defined( 'ABSPATH' ) ) {
	exit;
}

/**
 * Class Forums
 * @package DoclyCore\Widgets
 */
class Forums extends Widget_Base {

	public function get_name() {
		return 'Docly_forums';
	}

	public function get_title() {
		return __( 'Forums', 'docly-core' );
	}

	public function get_icon() {
		return 'eicon-gallery-grid';
	}

	public function get_categories() {
		return [ 'docly-elements' ];
	}

	protected function register_controls() {

		// --- Filter Options
		$this->start_controls_section(
			'filter_opt', [
				'label' => __( 'Filter Options', 'docly-core' ),
			]
		);

		$this->add_control(
			'ppp', [
				'label' => esc_html__( 'Show Forums', 'docly-core' ),
				'description' => esc_html__( 'Show the forums count at the initial view. Default is 5 forums in a row.', 'docly-core' ),
				'type' => Controls_Manager::NUMBER,
				'label_block' => true,
				'default' => 5
			]
		);

		$this->add_control(
			'ppp2', [
				'label' => esc_html__( 'Hidden Forums', 'docly-core' ),
				'description' => esc_html__( 'Hidden forums will show on clicking on the More button.', 'docly-core' ),
				'type' => Controls_Manager::NUMBER,
				'label_block' => true,
				'default' => 10
			]
		);

		$this->add_control(
			'order', [
				'label' => esc_html__( 'Order', 'docly-core' ),
				'type' => Controls_Manager::SELECT,
				'options' => [
					'ASC' => 'ASC',
					'DESC' => 'DESC'
				],
				'default' => 'ASC'
			]
		);

		$this->add_control(
			'more_txt', [
				'label' => esc_html__( 'Read More Text', 'docly-core' ),
				'type' => Controls_Manager::TEXT,
				'label_block' => true,
				'default' => 'More Communities'
			]
		);

		$this->end_controls_section();
		// end Document Setting Section
	}

	protected function render() {
		$settings = $this->get_settings();
		$forums = new WP_Query(array(
			'post_type' => 'forum',
			'posts_per_page' => !empty($settings['ppp']) ? $settings['ppp'] : 5,
			'order' => $settings['order'],
		));
		?>
		<div class="communities-boxes">
			<?php
			while( $forums->have_posts() ) : $forums->the_post();
				?>
				<div class="docly-com-box wow fadeInRight" data-wow-delay="0.5s">
					<div class="icon-container">
						<?php the_post_thumbnail('full'); ?>
					</div>
					<div class="docly-com-box-content">
						<h3 class="title">
							<a href="<?php the_permalink(); ?>"> <?php the_title() ?> </a>
						</h3>
						<p class="total-post"> <?php bbp_forum_topic_count(get_the_ID()); ?> <?php esc_html_e('Posts', 'docly') ?> </p>
					</div>
					<!-- /.docly-com-box-content -->
				</div>
				<!-- /.docly-com-box -->
				<?php
		    endwhile;
		    wp_reset_postdata();
		    ?>
		</div>
		<!-- /.communities-boxes -->

		<div class="more-communities">

			<a href="#more-category" class="collapse-btn">
                <?php echo esc_html($settings['more_txt']) ?> <i class="icon_plus"></i>
            </a>

			<div class="collapse-wrap" id="more-category">
				<div class="communities-boxes">
					<?php
					$forums2 = new WP_Query(array(
						'post_type' => 'forum',
						'posts_per_page' => !empty($settings['ppp2']) ? $settings['ppp2'] : 10,
                        'offset' => !empty($settings['ppp']) ? $settings['ppp'] : 5,
						'order' => $settings['order'],
					));
					while( $forums2->have_posts() ) : $forums2->the_post();
						?>
						<div class="docly-com-box">
							<div class="icon-container">
								<?php the_post_thumbnail('full'); ?>
							</div>
							<div class="docly-com-box-content">
								<h3 class="title">
									<a href="<?php the_permalink(); ?>"> <?php the_title() ?> </a>
								</h3>
								<p class="total-post"> <?php bbp_forum_topic_count(get_the_ID()); ?> <?php esc_html_e('Posts', 'docly-core') ?> </p>
							</div>
							<!-- /.docly-com-box-content -->
						</div>
						<!-- /.docly-com-box -->
						<?php
					endwhile;
					wp_reset_postdata();
					?>
				</div>
				<!-- /.communities-boxes -->
			</div>
			<!-- /.collapse-wrap -->
		</div>
		<!-- /.more-communities -->
		<?php
	}
}