PluginProbe
Flex Posts – Responsive Posts Block / trunk
Flex Posts – Responsive Posts Block vtrunk
2.1.0 trunk 1.12.0 2.0.0
flex-posts / includes / form-helpers.php

form-helpers.php in Flex Posts – Responsive Posts Block trunk, at includes/form-helpers.php

135 lines 3.6 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 /**
3 * Form helper functions
4 *
5 * @package Flex Posts
6 */
7
8 if ( ! defined( 'ABSPATH' ) ) {
9 exit;
10 }
11
12 /**
13 * Input element
14 *
15 * @param array $args Array of arguments to control the input element.
16 */
17 function flex_posts_input( $args = array() ) {
18 $defaults = array(
19 'type' => 'text',
20 'name' => '',
21 'id' => '',
22 'value' => '',
23 'class' => '',
24 );
25
26 $r = wp_parse_args( $args, $defaults );
27 ?>
28 <input type="<?php echo esc_attr( $r['type'] ); ?>"
29 name="<?php echo esc_attr( $r['name'] ); ?>"
30 <?php if ( ! empty( $r['id'] ) ) : ?>
31 id="<?php echo esc_attr( $r['id'] ); ?>"
32 <?php endif; ?>
33 <?php if ( ! empty( $r['style'] ) ) : ?>
34 style="<?php echo esc_attr( $r['style'] ); ?>"
35 <?php endif; ?>
36 <?php if ( ! empty( $r['class'] ) ) : ?>
37 class="<?php echo esc_attr( $r['class'] ); ?>"
38 <?php endif; ?>
39 <?php if ( ! empty( $r['size'] ) ) : ?>
40 size="<?php echo esc_attr( $r['size'] ); ?>"
41 <?php endif; ?>
42 <?php if ( isset( $r['min'] ) ) : ?>
43 min="<?php echo esc_attr( $r['min'] ); ?>"
44 <?php endif; ?>
45 <?php if ( ! empty( $r['max'] ) ) : ?>
46 max="<?php echo esc_attr( $r['max'] ); ?>"
47 <?php endif; ?>
48 <?php if ( ! empty( $r['placeholder'] ) ) : ?>
49 placeholder="<?php echo esc_attr( $r['placeholder'] ); ?>"
50 <?php endif; ?>
51 <?php if ( ! empty( $r['checked'] ) ) : ?>
52 checked="checked"
53 <?php endif; ?>
54 value="<?php echo esc_attr( $r['value'] ); ?>">
55 <?php
56 }
57
58 /**
59 * Textarea element
60 *
61 * @param array $args Array of arguments to control the textarea element.
62 */
63 function flex_posts_textarea( $args = array() ) {
64 $defaults = array(
65 'name' => '',
66 'id' => '',
67 'value' => '',
68 'class' => '',
69 'rows' => '',
70 );
71
72 $r = wp_parse_args( $args, $defaults );
73 ?>
74 <textarea name="<?php echo esc_attr( $r['name'] ); ?>"
75 <?php if ( ! empty( $r['id'] ) ) : ?>
76 id="<?php echo esc_attr( $r['id'] ); ?>"
77 <?php endif; ?>
78 <?php if ( ! empty( $r['rows'] ) ) : ?>
79 rows="<?php echo esc_attr( $r['rows'] ); ?>"
80 <?php endif; ?>
81 <?php if ( ! empty( $r['style'] ) ) : ?>
82 style="<?php echo esc_attr( $r['style'] ); ?>"
83 <?php endif; ?>
84 <?php if ( ! empty( $r['class'] ) ) : ?>
85 class="<?php echo esc_attr( $r['class'] ); ?>"
86 <?php endif; ?>><?php echo esc_textarea( $r['value'] ); ?></textarea>
87 <?php
88 }
89
90 /**
91 * Select element
92 *
93 * @param array $args Array of arguments to control the select element.
94 */
95 function flex_posts_select( $args = array() ) {
96 $defaults = array(
97 'name' => '',
98 'selected' => '',
99 'id' => '',
100 'class' => '',
101 'options' => array(),
102 'first' => '',
103 'first_value' => '',
104 'multiple' => false,
105 'array_name' => false,
106 );
107
108 $r = wp_parse_args( $args, $defaults );
109
110 $r['selected'] = (array) $r['selected'];
111 if ( $r['array_name'] ) {
112 $r['name'] .= '[]';
113 }
114 ?>
115 <select name="<?php echo esc_attr( $r['name'] ); ?>"
116 <?php if ( ! empty( $r['id'] ) ) : ?>
117 id="<?php echo esc_attr( $r['id'] ); ?>"
118 <?php endif; ?>
119 <?php if ( ! empty( $r['multiple'] ) ) : ?>
120 multiple="multiple"
121 <?php endif; ?>
122 <?php if ( ! empty( $r['size'] ) ) : ?>
123 size="<?php echo esc_attr( $r['size'] ); ?>"
124 <?php endif; ?>
125 class="<?php echo esc_attr( $r['class'] ); ?>">
126 <?php if ( ! empty( $r['first'] ) ) : ?>
127 <option value="<?php echo esc_attr( $r['first_value'] ); ?>"><?php echo esc_html( $r['first'] ); ?></option>
128 <?php endif; ?>
129 <?php foreach ( $r['options'] as $key => $value ) : ?>
130 <option value="<?php echo esc_attr( $key ); ?>"<?php echo in_array( (string) $key, $r['selected'], true ) ? ' selected="selected"' : ''; ?>><?php echo esc_html( $value ); ?></option>
131 <?php endforeach; ?>
132 </select>
133 <?php
134 }
135