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
|
<?php // phpcs:ignoreFile
namespace AutomateWoo\Fields;
use AutomateWoo\Formatters\Boolean_Formatter; use AutomateWoo\Formatters\Formattable;
if ( ! defined( 'ABSPATH' ) ) exit;
/** * @class Checkbox */ class Checkbox extends Field implements Formattable {
use Boolean_Formatter;
protected $name = 'checkbox';
protected $type = 'checkbox';
public $default_to_checked = false;
function __construct() { parent::__construct(); $this->set_title( __( 'Checkbox', 'automatewoo' ) ); }
/** * @param bool $checked * @return $this */ function set_default_to_checked( $checked = true ) { $this->default_to_checked = $checked; return $this; }
/** * @param $value */ function render( $value ) {
if ( $value === null || $value === '' ) { $value = $this->default_to_checked; }
?> <input type="checkbox" name="<?php echo esc_attr( $this->get_full_name() ); ?>" value="1" <?php echo ( $value ? 'checked' : '' ) ?> class="<?php echo esc_attr( $this->get_classes() ) ?>" <?php $this->output_extra_attrs(); ?> > <?php }
/** * Sanitizes the value of the field. * * @since 4.4.0 * * @param string $value * * @return string */ function sanitize_value( $value ) { return (bool) $value; } }
|