progress-group.php
2.88 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
<?php
/**
* LearnDash LD30 Displays group progress
*
* @since 3.0.0
*
* @package LearnDash\Templates\LD30
*/
if ( ! defined( 'ABSPATH' ) ) {
exit;
}
/**
* Action to add custom content before the progress bar
*
* @since 3.2.0
*/
$context = ( isset( $context ) ? $context : 'learndash' );
/**
* Fires before the progress bar.
*
* @since 3.2.0
*
* @param int $group_id Group ID.
* @param int $user_id User ID.
*/
do_action( 'learndash-progress-bar-before', $group_id, $user_id );
/**
* Fires before the progress bar for any context.
*
* The dynamic portion of the hook name, `$context`, refers to the context for which the hook is fired,
* such as `course`, `lesson`, `topic`, `quiz`, etc.
*
* @since 3.2.0
*
* @param int $group_id Group ID.
* @param int $user_id User ID.
*/
do_action( 'learndash-' . $context . '-progress-bar-before', $group_id, $user_id );
/**
* In the topic context we're measuring progress through a lesson, not the course itself
*/
if ( 'group' === $context ) {
$progress = apply_filters( 'learndash-' . $context . '-progress-stats', learndash_get_user_group_progress( $group_id, $user_id ) );
if ( $progress ) {
/**
* This is just here for reference
*/ ?>
<div class="ld-progress ld-progress-inline">
<div class="ld-progress-heading">
<?php if ( 'topic' === $context ) : ?>
<div class="ld-progress-label">
<?php
echo sprintf(
// translators: placeholder: Group.
esc_html_x( '%s Progress', 'Placeholder: Group', 'learndash' ),
LearnDash_Custom_Label::get_label( 'group' ) // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped -- Method escapes output
);
?>
</div>
<?php endif; ?>
<div class="ld-progress-stats">
<div class="ld-progress-percentage ld-secondary-color">
<?php
echo sprintf(
// translators: placeholder: Progress percentage.
esc_html_x( '%s%% Complete', 'placeholder: Progress percentage', 'learndash' ),
esc_html( $progress['percentage'] )
);
?>
</div>
<div class="ld-progress-steps">
<?php
echo sprintf(
// translators: placeholder: completed steps, total steps, Courses.
esc_html_x( '%1$d/%2$d %3$s', 'placeholder: completed steps, total steps, Courses', 'learndash' ),
esc_html( $progress['completed'] ),
esc_html( $progress['total'] ),
LearnDash_Custom_Label::get_label( 'courses' )
);
?>
</div>
</div> <!--/.ld-progress-stats-->
</div>
<div class="ld-progress-bar">
<div class="ld-progress-bar-percentage ld-secondary-background" style="<?php echo esc_attr( 'width:' . $progress['percentage'] . '%' ); ?>"></div>
</div>
</div> <!--/.ld-progress-->
<?php
}
}
/**
* Action to add custom content before the course content progress bar
*
* @since 3.0.0
*/
do_action( 'learndash-' . $context . '-progress-bar-after', $group_id, $user_id );