Changeset 6609
- Timestamp:
- 02/12/2018 10:23:05 PM (7 years ago)
- Location:
- sites/trunk/wordcamp.org/public_html/wp-content/mu-plugins
- Files:
-
- 65 added
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
sites/trunk/wordcamp.org/public_html/wp-content/mu-plugins/helpers-wcpt.php
r6599 r6609 7 7 */ 8 8 9 10 /** 11 * Retrieve `wordcamp` posts and their metadata. 12 * 13 * @param array $args Optional. Extra arguments to pass to `get_posts()`. 14 * 15 * @return array 16 */ 17 function get_wordcamps( $args = array() ) { 18 $args = wp_parse_args( $args, array( 19 'post_type' => WCPT_POST_TYPE_ID, 20 'post_status' => 'any', 21 'orderby' => 'ID', 22 'numberposts' => -1, 23 'perm' => 'readable', 24 ) ); 25 26 $wordcamps = get_posts( $args ); 27 28 foreach ( $wordcamps as &$wordcamp ) { 29 $wordcamp->meta = get_post_custom( $wordcamp->ID ); 30 } 31 32 return $wordcamps; 33 } 9 34 10 35 /** … … 175 200 return absint( $duration_days ); 176 201 } 202 203 /** 204 * Get a <select> dropdown of `wordcamp` posts with a select2 UI. 205 * 206 * The calling plugin is responsible for validating and processing the form, this just outputs a single field. 207 * 208 * @param string $name The `name` attribute for the `select` element 209 * @param array $query_options Optional. Extra arguments to pass to `get_posts()`. Defaults to the values in `get_wordcamps()`. 210 * 211 * @return string The HTML for the <select> list. 212 */ 213 function get_wordcamp_dropdown( $name = 'wordcamp_id', $query_options = array() ) { 214 $wordcamps = get_wordcamps( $query_options ); 215 216 wp_enqueue_script( 'select2' ); 217 wp_enqueue_style( 'select2' ); 218 219 ob_start(); 220 221 ?> 222 223 <select name="<?php echo esc_attr( $name ); ?>" class="select2"> 224 <option value=""><?php _e( 'Select a WordCamp', 'wordcamporg' ); ?></option> 225 <option value=""></option> 226 227 <?php foreach ( $wordcamps as $wordcamp ) : ?> 228 <option value="<?php echo esc_attr( $wordcamp->ID ); ?>"> 229 <?php 230 231 echo esc_html( $wordcamp->post_title ); 232 if ( ! empty( $wordcamp->meta['Start Date (YYYY-mm-dd)'][0] ) ) { 233 echo ' ' . esc_html( date( 'Y', $wordcamp->meta['Start Date (YYYY-mm-dd)'][0] ) ); 234 } 235 236 ?> 237 </option> 238 <?php endforeach; ?> 239 </select> 240 241 <script> 242 jQuery( document ).ready( function() { 243 jQuery( '.select2' ).select2(); 244 } ); 245 </script> 246 247 <?php 248 249 return ob_get_clean(); 250 } -
sites/trunk/wordcamp.org/public_html/wp-content/mu-plugins/wcorg-misc.php
r6576 r6609 282 282 } 283 283 add_action( 'login_form_lostpassword', 'wcorg_reset_passwords_at_wporg' ); 284 285 /** 286 * Register scripts and styles. 287 */ 288 function wcorg_register_scripts() { 289 /* 290 * Select2 can be removed if/when it's bundled with Core, see #31696-core. 291 * If the handle changes, we'll need to update any of our plugins that are using it. 292 */ 293 wp_register_script( 294 'select2', 295 plugins_url( '/includes/select2/js/select2.min.js', __FILE__ ), 296 array( 'jquery' ), 297 '4.0.5', 298 true 299 ); 300 301 wp_register_style( 302 'select2', 303 plugins_url( '/includes/select2/css/select2.min.css', __FILE__ ), 304 array(), 305 '4.0.5' 306 ); 307 } 308 add_action( 'wp_enqueue_scripts', 'wcorg_register_scripts' ); 309 add_action( 'admin_enqueue_scripts', 'wcorg_register_scripts' );
Note: See TracChangeset
for help on using the changeset viewer.