LLMS_Blocks_Course_Progress_Block
Course progress block class.
Contents
Source Source
File: libraries/lifterlms-blocks/includes/blocks/class-llms-blocks-course-progress-block.php
class LLMS_Blocks_Course_Progress_Block extends LLMS_Blocks_Abstract_Block {
/**
* Block ID.
*
* @var string
*/
protected $id = 'course-progress';
/**
* Is block dynamic (rendered in PHP).
*
* @var bool
*/
protected $is_dynamic = true;
/**
* Add actions attached to the render function action.
*
* @since 1.9.0
*
* @param array $attributes Optional. Block attributes. Default empty array.
* @param string $content Optional. Block content. Default empty string.
* @return void
*/
public function add_hooks( $attributes = array(), $content = '' ) {
add_action( $this->get_render_hook(), array( $this, 'output' ), 10 );
}
/**
* Output the course progress bar
*
* @since 1.9.0
*
* @param array $attributes Optional. Block attributes. Default empty array.
* @return void
*/
public function output( $attributes = array() ) {
$block_content = '';
$progress = do_shortcode( '[lifterlms_course_progress check_enrollment=1]' );
$class = empty( $attributes['className'] ) ? '' : $attributes['className'];
if ( $progress ) {
$block_content = sprintf(
'<div class="wp-block-%1$s-%2$s%3$s">%4$s</div>',
$this->vendor,
$this->id,
// Take into account the custom class attribute.
empty( $attributes['className'] ) ? '' : ' ' . esc_attr( $attributes['className'] ),
$progress
);
}
/**
* Filters the block html
*
* @since 1.9.0
*
* @param string $block_content The block's html.
* @param array $attributes The block's array of attributes.
* @param LLMS_Blocks_Course_Progress_Block $block This block object.
*/
$block_content = apply_filters( 'llms_blocks_render_course_progress_block', $block_content, $attributes, $this );
if ( $block_content ) {
echo $block_content;
}
}
}
Expand full source code Collapse full source code View on GitHub