LLMS_Blocks_Lesson_Progression_Block
Lesson progression block
Source Source
File: libraries/lifterlms-blocks/includes/blocks/class-llms-blocks-lesson-progression-block.php
class LLMS_Blocks_Lesson_Progression_Block extends LLMS_Blocks_Abstract_Block {
/**
* Block ID.
*
* @var string
*/
protected $id = 'lesson-progression';
/**
* Is block dynamic (rendered in PHP).
*
* @var bool
*/
protected $is_dynamic = true;
/**
* Add actions attached to the render function action.
*
* @since 1.0.0
* @since 1.1.0 Unknown.
*
* @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(), 'lifterlms_template_complete_lesson_link', 10 );
}
/**
* Output a message when no HTML was rendered
*
* @since 1.7.0
* @since 2.0.0 Ensure the queried object is an `LLMS_Lesson` before checking if it's free.
*
* @return string
*/
public function get_empty_render_message() {
$lesson = llms_get_post( get_the_ID() );
if ( $lesson && is_a( $lesson, 'LLMS_Lesson' ) && $lesson->is_free() ) {
return '';
}
return parent::get_empty_render_message();
}
/**
* Retrieve custom block attributes.
*
* Necessary to override when creating ServerSideRender blocks.
*
* @since 1.0.0
*
* @return array
*/
public function get_attributes() {
return array_merge(
parent::get_attributes(),
array(
'post_id' => array(
'type' => 'int',
'default' => 0,
),
)
);
}
/**
* Register meta attributes.
*
* Called after registering the block type.
*
* @since 1.0.0
*
* @return void
*/
public function register_meta() {
register_meta(
'post',
'_llms_quiz',
array(
'object_subtype' => 'lesson',
'sanitize_callback' => 'absint',
'auth_callback' => '__return_true',
'type' => 'string',
'single' => true,
'show_in_rest' => true,
)
);
}
}
Expand full source code Collapse full source code View on GitHub
Methods Methods
- add_hooks — Add actions attached to the render function action.
- get_attributes — Retrieve custom block attributes.
- get_empty_render_message — Output a message when no HTML was rendered
- register_meta — Register meta attributes.
Changelog Changelog
| Version | Description |
|---|---|
| 1.8.0 | Register meta data used by the block editor. |
| 1.7.0 | Don't output an empty render message for free lessons. |
| 1.1.0 | Unknown |
| 1.0.0 | Introduced. |