Making WordPress.org


Ignore:
Timestamp:
02/26/2018 06:38:19 PM (7 years ago)
Author:
iandunn
Message:

WordCamp Post Types: Apply coding standards.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • sites/trunk/wordcamp.org/public_html/wp-content/plugins/wc-post-types/wc-post-types.php

    r6624 r6764  
    115115     */
    116116    function render_order_sponsor_levels() {
    117         if ( ! isset( $_REQUEST['updated'] ) )
     117        if ( ! isset( $_REQUEST['updated'] ) ) {
    118118            $_REQUEST['updated'] = false;
     119        }
    119120
    120121        $levels = $this->get_sponsor_levels();
     
    134135                </div>
    135136                <ul class="sponsor-order">
    136                 <?php foreach( $levels as $term ): ?>
     137                <?php foreach ( $levels as $term ) : ?>
    137138                    <li class="level">
    138139                        <input type="hidden" class="level-id" name="wcb_sponsor_level_order[]" value="<?php echo esc_attr( $term->term_id ); ?>" />
     
    169170     */
    170171    function get_sponsor_levels() {
    171         $option         = get_option( 'wcb_sponsor_level_order' );
    172         $term_objects   = get_terms( 'wcb_sponsor_level', array( 'get' => 'all' ) );
    173         $terms          = array();
    174         $ordered_terms  = array();
     172        $option        = get_option( 'wcb_sponsor_level_order' );
     173        $term_objects  = get_terms( 'wcb_sponsor_level', array( 'get' => 'all' ) );
     174        $terms         = array();
     175        $ordered_terms = array();
    175176
    176177        foreach ( $term_objects as $term ) {
     
    178179        }
    179180
    180         if ( empty( $option ) )
     181        if ( empty( $option ) ) {
    181182            $option = array();
     183        }
    182184
    183185        foreach ( $option as $term_id ) {
     
    197199     */
    198200    function admin_pre_get_posts( $query ) {
    199         if ( ! is_admin() || ! $query->is_main_query() )
     201        if ( ! is_admin() || ! $query->is_main_query() ) {
    200202            return;
     203        }
    201204
    202205        $current_screen = get_current_screen();
     
    228231                ),
    229232                'modal' => array(
    230                     'allowedTypes' => array( 'image', 'application/pdf' )
     233                    'allowedTypes' => array( 'image', 'application/pdf' ),
    231234                ),
    232235            )
     
    349352            // Get the speaker IDs for all the sessions in the requested tracks
    350353            $session_speaker_ids = get_post_meta( $session->ID, '_wcpt_speaker_id' );
    351             $speaker_ids = array_merge( $speaker_ids, $session_speaker_ids );
     354            $speaker_ids         = array_merge( $speaker_ids, $session_speaker_ids );
    352355
    353356            // Map speaker IDs to their corresponding tracks
    354357            $session_terms = wp_get_object_terms( $session->ID, 'wcb_track' );
    355358            foreach ( $session_speaker_ids as $speaker_id ) {
    356                 if ( isset ( $speakers_tracks[ $speaker_id ] ) ) {
     359                if ( isset( $speakers_tracks[ $speaker_id ] ) ) {
    357360                    $speakers_tracks[ $speaker_id ] = array_merge( $speakers_tracks[ $speaker_id ], wp_list_pluck( $session_terms, 'slug' ) );
    358361                } else {
     
    392395        $speakers = new WP_Query( $speaker_args );
    393396
    394         if ( ! $speakers->have_posts() )
     397        if ( ! $speakers->have_posts() ) {
    395398            return '';
     399        }
    396400
    397401        // Render the HTML for the shortcode
     
    401405        <div class="wcorg-speakers">
    402406
    403             <?php while ( $speakers->have_posts() ) : $speakers->the_post(); ?>
    404 
    405                 <?php
    406                     $speaker_classes = array( 'wcorg-speaker', 'wcorg-speaker-' . sanitize_html_class( $post->post_name ) );
    407 
    408                     if ( isset( $speakers_tracks[ get_the_ID() ] ) ) {
    409                         foreach ( $speakers_tracks[ get_the_ID() ] as $track ) {
    410                             $speaker_classes[] = sanitize_html_class( 'wcorg-track-' . $track );
    411                         }
     407            <?php while ( $speakers->have_posts() ) :
     408                $speakers->the_post();
     409
     410                $speaker_classes = array( 'wcorg-speaker', 'wcorg-speaker-' . sanitize_html_class( $post->post_name ) );
     411
     412                if ( isset( $speakers_tracks[ get_the_ID() ] ) ) {
     413                    foreach ( $speakers_tracks[ get_the_ID() ] as $track ) {
     414                        $speaker_classes[] = sanitize_html_class( 'wcorg-track-' . $track );
    412415                    }
     416                }
     417
    413418                ?>
    414419
     
    417422                    <h2>
    418423                        <?php if ( 'permalink' === $attr['speaker_link'] ) : ?>
     424
    419425                            <a href="<?php the_permalink(); ?>">
    420426                                <?php the_title(); ?>
    421427                            </a>
     428
    422429                        <?php else : ?>
     430
    423431                            <?php the_title(); ?>
     432
    424433                        <?php endif; ?>
    425434                    </h2>
     435
    426436                    <div class="wcorg-speaker-description">
    427437                        <?php echo ( $attr['show_avatars'] ) ? get_avatar( get_post_meta( get_the_ID(), '_wcb_speaker_email', true ), absint( $attr['avatar_size'] ) ) : ''; ?>
    428438                        <?php the_content(); ?>
    429439                    </div>
    430                 </div><!-- .wcorg-speaker -->
     440                </div>
    431441
    432442            <?php endwhile; ?>
    433443
    434         </div><!-- .wcorg-speakers -->
     444        </div>
    435445
    436446        <?php
     
    454464
    455465        $attr['show_avatars'] = $this->str_to_bool( $attr['show_avatars'] );
    456         $attr['orderby'] = strtolower( $attr['orderby'] );
    457         $attr['orderby'] = ( in_array( $attr['orderby'], array( 'date', 'title', 'rand' ) ) ) ? $attr['orderby'] : 'date';
    458         $attr['order']   = strtolower( $attr['order'] );
    459         $attr['order']   = ( in_array( $attr['order'], array( 'asc', 'desc' ), true ) ) ? $attr['order'] : 'desc';
     466        $attr['orderby']      = strtolower( $attr['orderby'] );
     467        $attr['orderby']      = ( in_array( $attr['orderby'], array( 'date', 'title', 'rand' ) ) ) ? $attr['orderby'] : 'date';
     468        $attr['order']        = strtolower( $attr['order'] );
     469        $attr['order']        = ( in_array( $attr['order'], array( 'asc', 'desc' ), true ) ) ? $attr['order'] : 'desc';
    460470
    461471        $query_args = array(
     
    478488        $organizers = new WP_Query( $query_args );
    479489
    480         if ( ! $organizers->have_posts() )
     490        if ( ! $organizers->have_posts() ) {
    481491            return '';
     492        }
    482493
    483494        ob_start();
     
    485496        <div class="wcorg-organizers">
    486497
    487             <?php while ( $organizers->have_posts() ) : $organizers->the_post(); ?>
     498            <?php while ( $organizers->have_posts() ) :
     499                $organizers->the_post(); ?>
    488500
    489501                <div class="wcorg-organizer">
     
    580592                $session_type         = get_post_meta( $session->ID, '_wcpt_session_type', true );
    581593
    582                 if ( ! in_array( $session_type, array( 'session', 'custom' ) ) )
     594                if ( ! in_array( $session_type, array( 'session', 'custom' ) ) ) {
    583595                    $session_type = 'session';
     596                }
    584597
    585598                // Fetch speakers associated with this session.
    586                 $speakers = array();
     599                $speakers     = array();
    587600                $speakers_ids = array_map( 'absint', (array) get_post_meta( $session->ID, '_wcpt_speaker_id' ) );
     601
    588602                if ( ! empty( $speakers_ids ) ) {
    589603                    $speakers = get_posts( array(
     
    633647                    $speaker_name = apply_filters( 'the_title', $speaker->post_title );
    634648
    635                     if ( 'anchor' == $attr['speaker_link'] ) // speakers/#wcorg-speaker-slug
     649                    if ( 'anchor' == $attr['speaker_link'] ) {
     650                        // speakers/#wcorg-speaker-slug
    636651                        $speaker_permalink = $this->get_wcpt_anchor_permalink( $speaker->ID );
    637                     elseif ( 'wporg' == $attr['speaker_link'] ) // profiles.wordpress.org/user
     652                    } elseif ( 'wporg' == $attr['speaker_link'] ) {
     653                        // profiles.wordpress.org/user
    638654                        $speaker_permalink = $this->get_speaker_wporg_permalink( $speaker->ID );
    639                     elseif ( 'permalink' == $attr['speaker_link'] ) // year.city.wordcamp.org/speakers/slug
     655                    } elseif ( 'permalink' == $attr['speaker_link'] ) {
     656                        // year.city.wordcamp.org/speakers/slug
    640657                        $speaker_permalink = get_permalink( $speaker->ID );
    641 
    642                     if ( ! empty( $speaker_permalink ) )
     658                    }
     659
     660                    if ( ! empty( $speaker_permalink ) ) {
    643661                        $speaker_name = sprintf( '<a href="%s">%s</a>', esc_url( $speaker_permalink ), esc_html( $speaker_name ) );
     662                    }
    644663
    645664                    $speakers_names[] = $speaker_name;
     
    647666
    648667                // Add speakers names to the output string.
    649                 if ( count( $speakers_names ) )
     668                if ( count( $speakers_names ) ) {
    650669                    $content .= sprintf( ' <span class="wcpt-session-speakers">%s</span>', implode( ', ', $speakers_names ) );
     670                }
    651671
    652672                // End of cell-content.
     
    658678                if ( $key != key( array_slice( $columns, -1, 1, true ) ) ) {
    659679                    while ( $pair = each( $columns_clone ) ) {
    660                         if ( $pair['key'] == $key )
     680                        if ( $pair['key'] == $key ) {
    661681                            continue;
     682                        }
    662683
    663684                        if ( ! empty( $entry[ $pair['value'] ] ) && $entry[ $pair['value'] ] == $session->ID ) {
     
    769790    function get_speaker_wporg_permalink( $speaker_id ) {
    770791        $post = get_post( $speaker_id );
    771         if ( $post->post_type != 'wcb_speaker' || $post->post_status != 'publish' )
     792        if ( $post->post_type != 'wcb_speaker' || $post->post_status != 'publish' ) {
    772793            return;
     794        }
    773795
    774796        $wporg_user_id = get_post_meta( $speaker_id, '_wcpt_user_id', true );
    775         if ( ! $wporg_user_id )
     797        if ( ! $wporg_user_id ) {
    776798            return;
     799        }
    777800
    778801        $user = get_user_by( 'id', $wporg_user_id );
    779         if ( ! $user )
     802        if ( ! $user ) {
    780803            return;
     804        }
    781805
    782806        $permalink = sprintf( 'http://profiles.wordpress.org/%s', strtolower( $user->user_nicename ) );
     
    804828        }
    805829
    806         switch( $anchor_target->post_type ) {
     830        switch ( $anchor_target->post_type ) {
    807831            case 'wcb_speaker':
    808832                $permalink = has_shortcode( $post->post_content, 'speakers' ) ? get_permalink( $post->id ) : $this->get_wcpt_permalink( 'speakers' );
     
    910934        // Convert bools to real booleans.
    911935        $bools = array( 'show_meta', 'show_avatars' );
    912         foreach ( $bools as $key )
     936        foreach ( $bools as $key ) {
    913937            $attr[ $key ] = $this->str_to_bool( $attr[ $key ] );
     938        }
    914939
    915940        // Clean up other attributes.
     
    920945        $attr['avatar_size'] = absint( $attr['avatar_size'] );
    921946
    922         if ( ! in_array( $attr['speaker_link'], array( 'anchor', 'wporg', 'permalink', 'none' ) ) )
     947        if ( ! in_array( $attr['speaker_link'], array( 'anchor', 'wporg', 'permalink', 'none' ) ) ) {
    923948            $attr['speaker_link'] = 'anchor';   // todo this is inconsistent with the values passed to shortcode_atts, and probably not needed if the default above is changed to 'anchor'
     949        }
    924950
    925951        $attr['orderby'] = ( in_array( $attr['orderby'], array( 'date', 'title', 'rand', 'session_time' ) ) ) ? $attr['orderby'] : 'date';
     
    955981                        'compare' => 'NOT EXISTS',
    956982                    ),
    957                 )
     983                ),
    958984            ),
    959985        );
     
    9881014        $sessions = new WP_Query( $args );
    9891015
    990         if ( ! $sessions->have_posts() )
     1016        if ( ! $sessions->have_posts() ) {
    9911017            return;
     1018        }
    9921019
    9931020        ob_start();
     
    9951022
    9961023        <div class="wcorg-sessions">
    997 
    998             <?php while ( $sessions->have_posts() ) : $sessions->the_post(); ?>
    999 
    1000                 <?php
    1001                     // Things to be output, or not.
    1002                     $session_meta = '';
    1003                     $speakers_avatars = '';
    1004                     $links            = array();
    1005 
    1006                     // Fetch speakers associated with this session.
    1007                     $speakers = array();
    1008                     $speakers_ids = array_map( 'absint', (array) get_post_meta( get_the_ID(), '_wcpt_speaker_id' ) );
    1009                     if ( ! empty( $speakers_ids ) ) {
    1010                         $speakers = get_posts( array(
    1011                             'post_type'      => 'wcb_speaker',
    1012                             'posts_per_page' => -1,
    1013                             'post__in'       => $speakers_ids,
    1014                         ) );
     1024            <?php while ( $sessions->have_posts() ) :
     1025                $sessions->the_post();
     1026
     1027                // Things to be output, or not.
     1028                $session_meta     = '';
     1029                $speakers_avatars = '';
     1030                $links            = array();
     1031
     1032                // Fetch speakers associated with this session.
     1033                $speakers     = array();
     1034                $speakers_ids = array_map( 'absint', (array) get_post_meta( get_the_ID(), '_wcpt_speaker_id' ) );
     1035
     1036                if ( ! empty( $speakers_ids ) ) {
     1037                    $speakers = get_posts( array(
     1038                        'post_type'      => 'wcb_speaker',
     1039                        'posts_per_page' => -1,
     1040                        'post__in'       => $speakers_ids,
     1041                    ) );
     1042                }
     1043
     1044                // Should we add avatars?
     1045                if ( $attr['show_avatars'] ) {
     1046                    foreach ( $speakers as $speaker ) {
     1047                        $speakers_avatars .= get_avatar( get_post_meta( $speaker->ID, '_wcb_speaker_email', true ), absint( $attr['avatar_size'] ) );
    10151048                    }
    1016 
    1017                     // Should we add avatars?
    1018                     if ( $attr['show_avatars'] ) {
    1019                         foreach ( $speakers as $speaker ) {
    1020                             $speakers_avatars .= get_avatar( get_post_meta( $speaker->ID, '_wcb_speaker_email', true ), absint( $attr['avatar_size'] ) );
     1049                }
     1050
     1051                // Should we output meta?
     1052                if ( $attr['show_meta'] ) {
     1053                    $speaker_permalink = '';
     1054                    $speakers_names    = array();
     1055                    $tracks_names      = array();
     1056
     1057                    foreach ( $speakers as $speaker ) {
     1058                        $speaker_name = apply_filters( 'the_title', $speaker->post_title );
     1059
     1060                        if ( 'anchor' == $attr['speaker_link'] ) {
     1061                            // speakers/#wcorg-speaker-slug
     1062                            $speaker_permalink = $this->get_wcpt_anchor_permalink( $speaker->ID );
     1063                        } elseif ( 'wporg' == $attr['speaker_link'] ) {
     1064                            // profiles.wordpress.org/user
     1065                            $speaker_permalink = $this->get_speaker_wporg_permalink( $speaker->ID );
     1066                        } elseif ( 'permalink' == $attr['speaker_link'] ) {
     1067                            // year.city.wordcamp.org/speakers/slug
     1068                            $speaker_permalink = get_permalink( $speaker->ID );
     1069                        }
     1070
     1071                        if ( ! empty( $speaker_permalink ) ) {
     1072                            $speaker_name = sprintf( '<a href="%s">%s</a>', esc_url( $speaker_permalink ), esc_html( $speaker_name ) );
     1073                        }
     1074
     1075                        $speakers_names[] = $speaker_name;
     1076                    }
     1077
     1078                    $tracks = get_the_terms( get_the_ID(), 'wcb_track' );
     1079
     1080                    if ( is_array( $tracks ) ) {
     1081                        foreach ( $tracks as $track ) {
     1082                            $tracks_names[] = apply_filters( 'the_title', $track->name );
    10211083                        }
    10221084                    }
    10231085
    1024                     // Should we output meta?
    1025                     if ( $attr['show_meta'] ) {
    1026                         $speaker_permalink = '';
    1027                         $speakers_names = array();
    1028                         $tracks_names = array();
    1029 
    1030                         foreach ( $speakers as $speaker ) {
    1031                             $speaker_name = apply_filters( 'the_title', $speaker->post_title );
    1032 
    1033                             if ( 'anchor' == $attr['speaker_link'] ) // speakers/#wcorg-speaker-slug
    1034                                 $speaker_permalink = $this->get_wcpt_anchor_permalink( $speaker->ID );
    1035                             elseif ( 'wporg' == $attr['speaker_link'] ) // profiles.wordpress.org/user
    1036                                 $speaker_permalink = $this->get_speaker_wporg_permalink( $speaker->ID );
    1037                             elseif ( 'permalink' == $attr['speaker_link'] ) // year.city.wordcamp.org/speakers/slug
    1038                                 $speaker_permalink = get_permalink( $speaker->ID );
    1039 
    1040                             if ( ! empty( $speaker_permalink ) )
    1041                                 $speaker_name = sprintf( '<a href="%s">%s</a>', esc_url( $speaker_permalink ), esc_html( $speaker_name ) );
    1042 
    1043                             $speakers_names[] = $speaker_name;
    1044                         }
    1045 
    1046                         $tracks = get_the_terms( get_the_ID(), 'wcb_track' );
    1047                         if ( is_array( $tracks ) )
    1048                             foreach ( $tracks as $track )
    1049                                 $tracks_names[] = apply_filters( 'the_title', $track->name );
    1050 
    1051                         // Add speakers and tracks to session meta.
    1052                         if ( ! empty( $speakers_names ) && ! empty( $tracks_names ) )
    1053                             $session_meta .= sprintf( __( 'Presented by %1$s in %2$s.', 'wordcamporg' ), implode( ', ', $speakers_names ), implode( ', ', $tracks_names ) );
    1054                         elseif ( ! empty( $speakers_names ) )
    1055                             $session_meta .= sprintf( __( 'Presented by %s.', 'wordcamporg' ), implode( ', ', $speakers_names ) );
    1056                         elseif ( ! empty( $tracks_names ) )
    1057                             $session_meta .= sprintf( __( 'Presented in %s.', 'wordcamporg' ), implode( ', ', $tracks_names ) );
    1058 
    1059                         if ( ! empty( $session_meta ) )
    1060                             $session_meta = sprintf( '<p class="wcpt-session-meta">%s</p>', $session_meta );
     1086                    // Add speakers and tracks to session meta.
     1087                    if ( ! empty( $speakers_names ) && ! empty( $tracks_names ) ) {
     1088                        $session_meta .= sprintf( __( 'Presented by %1$s in %2$s.', 'wordcamporg' ), implode( ', ', $speakers_names ), implode( ', ', $tracks_names ) );
     1089                    } elseif ( ! empty( $speakers_names ) ) {
     1090                        $session_meta .= sprintf( __( 'Presented by %s.', 'wordcamporg' ), implode( ', ', $speakers_names ) );
     1091                    } elseif ( ! empty( $tracks_names ) ) {
     1092                        $session_meta .= sprintf( __( 'Presented in %s.', 'wordcamporg' ), implode( ', ', $tracks_names ) );
    10611093                    }
    10621094
    1063                     // Gather data for list of links
    1064                     if ( $url = get_post_meta( $post->ID, '_wcpt_session_slides', true ) ) {
    1065                         $links['slides'] = array(
    1066                             'url'   => $url,
    1067                             'label' => __( 'Slides', 'wordcamporg' ),
    1068                         );
     1095                    if ( ! empty( $session_meta ) ) {
     1096                        $session_meta = sprintf( '<p class="wcpt-session-meta">%s</p>', $session_meta );
    10691097                    }
    1070 
    1071                     if ( $url = get_post_meta( $post->ID, '_wcpt_session_video', true ) ) {
    1072                         $links['video'] = array(
    1073                             'url'   => $url,
    1074                             'label' => __( 'Video', 'wordcamporg' ),
    1075                         );
    1076                     }
     1098                }
     1099
     1100                // Gather data for list of links
     1101                if ( $url = get_post_meta( $post->ID, '_wcpt_session_slides', true ) ) {
     1102                    $links['slides'] = array(
     1103                        'url'   => $url,
     1104                        'label' => __( 'Slides', 'wordcamporg' ),
     1105                    );
     1106                }
     1107
     1108                if ( $url = get_post_meta( $post->ID, '_wcpt_session_video', true ) ) {
     1109                    $links['video'] = array(
     1110                        'url'   => $url,
     1111                        'label' => __( 'Video', 'wordcamporg' ),
     1112                    );
     1113                }
    10771114
    10781115                ?>
    10791116
    10801117                <div id="wcorg-session-<?php the_ID(); ?>" class="wcorg-session" >
    1081                     <h2><?php the_title(); ?></h2>
     1118                    <h2>
     1119                        <?php the_title(); ?>
     1120                    </h2>
     1121
    10821122                    <div class="wcorg-session-description">
    10831123                        <?php the_post_thumbnail(); ?>
     
    10881128                        <?php if ( $links ) : ?>
    10891129                            <ul class="wcorg-session-links">
    1090                                 <?php foreach( $links as $link ) : ?>
     1130                                <?php foreach ( $links as $link ) : ?>
    10911131                                    <li>
    10921132                                        <a href="<?php echo esc_url( $link['url'] ); ?>">
     
    11011141
    11021142            <?php endwhile; ?>
    1103 
    11041143        </div><!-- .wcorg-sessions -->
    11051144
     
    11261165
    11271166        $attr['link'] = strtolower( $attr['link'] );
    1128         $terms = $this->get_sponsor_levels();
     1167        $terms        = $this->get_sponsor_levels();
    11291168
    11301169        ob_start();
     
    11321171
    11331172        <div class="wcorg-sponsors">
    1134         <?php foreach ( $terms as $term ) : ?>
    1135             <?php
     1173            <?php foreach ( $terms as $term ) :
    11361174                $sponsors = new WP_Query( array(
    11371175                    'post_type'      => 'wcb_sponsor',
     
    11421180                ) );
    11431181
    1144                 if ( ! $sponsors->have_posts() )
     1182                if ( ! $sponsors->have_posts() ) {
    11451183                    continue;
    1146             ?>
    1147 
    1148             <div class="wcorg-sponsor-level-<?php echo sanitize_html_class( $term->slug ); ?>">
    1149                 <h2><?php echo esc_html( $term->name ); ?></h2>
    1150 
    1151                 <?php while ( $sponsors->have_posts() ) : $sponsors->the_post(); ?>
    1152                 <?php $website = get_post_meta( get_the_ID(), '_wcpt_sponsor_website', true ); ?>
    1153 
    1154                 <div id="wcorg-sponsor-<?php the_ID(); ?>" class="wcorg-sponsor">
    1155                     <?php if ( 'visible' === $attr['title'] ) : ?>
    1156                         <?php if ( 'website' === $attr['link'] && $website ) : ?>
    1157                             <h3><a href="<?php echo esc_attr( esc_url( $website ) ); ?>"><?php the_title(); ?></a></h3>
    1158                         <?php elseif ( 'post' === $attr['link'] ) : ?>
    1159                             <h3><a href="<?php echo esc_attr( esc_url( get_permalink() ) ); ?>"><?php the_title(); ?></a></h3>
    1160                         <?php else : ?>
    1161                             <h3><?php the_title(); ?></h3>
    1162                         <?php endif; ?>
    1163                     <?php endif; ?>
    1164 
    1165                     <div class="wcorg-sponsor-description">
    1166                         <?php if ( 'website' == $attr['link'] && $website ) : ?>
    1167                             <a href="<?php echo esc_attr( esc_url( $website ) ); ?>">
    1168                                 <?php the_post_thumbnail( 'wcb-sponsor-logo-horizontal-2x', array( 'alt' => get_the_title() ) ); ?>
    1169                             </a>
    1170                         <?php elseif ( 'post' == $attr['link'] ) : ?>
    1171                             <a href="<?php echo esc_attr( esc_url( get_permalink() ) ); ?>">
    1172                                 <?php the_post_thumbnail( 'wcb-sponsor-logo-horizontal-2x', array( 'alt' => get_the_title() ) ); ?>
    1173                             </a>
    1174                         <?php else : ?>
    1175                             <?php the_post_thumbnail( 'wcb-sponsor-logo-horizontal-2x', array( 'alt' => get_the_title() ) ); ?>
    1176                         <?php endif; ?>
    1177 
    1178                         <?php if ( 'full' === $attr['content'] ) : ?>
    1179                             <?php the_content(); ?>
    1180                         <?php elseif ( 'excerpt' === $attr['content'] ) : ?>
    1181                             <?php echo wpautop(
    1182                                 wp_trim_words(
    1183                                     get_the_content(),
    1184                                     absint( $attr['excerpt_length'] ),
    1185                                     apply_filters( 'excerpt_more', ' ' . '&hellip;' )
    1186                                 )
    1187                             ); ?>
    1188                         <?php endif; ?>
    1189                     </div>
    1190                 </div><!-- #sponsor -->
    1191                 <?php endwhile; ?>
    1192 
    1193             </div><!-- .wcorg-sponsor-level -->
    1194 
    1195         <?php endforeach; ?>
     1184                }
     1185
     1186                ?>
     1187
     1188                <div class="wcorg-sponsor-level-<?php echo sanitize_html_class( $term->slug ); ?>">
     1189                    <h2><?php echo esc_html( $term->name ); ?></h2>
     1190
     1191                    <?php while ( $sponsors->have_posts() ) :
     1192                        $sponsors->the_post();
     1193                        $website = get_post_meta( get_the_ID(), '_wcpt_sponsor_website', true );
     1194                        ?>
     1195
     1196                        <div id="wcorg-sponsor-<?php the_ID(); ?>" class="wcorg-sponsor">
     1197                            <?php if ( 'visible' === $attr['title'] ) : ?>
     1198                                <?php if ( 'website' === $attr['link'] && $website ) : ?>
     1199                                    <h3>
     1200                                        <a href="<?php echo esc_attr( esc_url( $website ) ); ?>">
     1201                                            <?php the_title(); ?>
     1202                                        </a>
     1203                                    </h3>
     1204                                <?php elseif ( 'post' === $attr['link'] ) : ?>
     1205                                    <h3>
     1206                                        <a href="<?php echo esc_attr( esc_url( get_permalink() ) ); ?>">
     1207                                            <?php the_title(); ?>
     1208                                        </a>
     1209                                    </h3>
     1210                                <?php else : ?>
     1211                                    <h3>
     1212                                        <?php the_title(); ?>
     1213                                    </h3>
     1214                                <?php endif; ?>
     1215                            <?php endif; ?>
     1216
     1217                            <div class="wcorg-sponsor-description">
     1218                                <?php if ( 'website' == $attr['link'] && $website ) : ?>
     1219                                    <a href="<?php echo esc_attr( esc_url( $website ) ); ?>">
     1220                                        <?php the_post_thumbnail( 'wcb-sponsor-logo-horizontal-2x', array( 'alt' => get_the_title() ) ); ?>
     1221                                    </a>
     1222                                <?php elseif ( 'post' == $attr['link'] ) : ?>
     1223                                    <a href="<?php echo esc_attr( esc_url( get_permalink() ) ); ?>">
     1224                                        <?php the_post_thumbnail( 'wcb-sponsor-logo-horizontal-2x', array( 'alt' => get_the_title() ) ); ?>
     1225                                    </a>
     1226                                <?php else : ?>
     1227                                    <?php the_post_thumbnail( 'wcb-sponsor-logo-horizontal-2x', array( 'alt' => get_the_title() ) ); ?>
     1228                                <?php endif; ?>
     1229
     1230                                <?php if ( 'full' === $attr['content'] ) : ?>
     1231                                    <?php the_content(); ?>
     1232                                <?php elseif ( 'excerpt' === $attr['content'] ) : ?>
     1233                                    <?php echo wpautop(
     1234                                        wp_trim_words(
     1235                                            get_the_content(),
     1236                                            absint( $attr['excerpt_length'] ),
     1237                                            apply_filters( 'excerpt_more', ' ' . '&hellip;' )
     1238                                        )
     1239                                    ); ?>
     1240                                <?php endif; ?>
     1241                            </div>
     1242                        </div><!-- #sponsor -->
     1243                    <?php endwhile; ?>
     1244                </div><!-- .wcorg-sponsor-level -->
     1245            <?php endforeach; ?>
    11961246        </div><!-- .wcorg-sponsors -->
     1247
    11971248        <?php
    11981249
     
    12731324        $speaker_ids = (array) get_post_meta( $post->ID, '_wcpt_speaker_id' );
    12741325
    1275         if ( empty ( $speaker_ids ) ) {
     1326        if ( empty( $speaker_ids ) ) {
    12761327            return $content;
    12771328        }
     
    13251376    function add_slides_info_to_session_posts( $content ) {
    13261377        global $post;
     1378
    13271379        $enabled_site_ids = apply_filters( 'wcpt_session_post_slides_info_enabled_site_ids', array(
    13281380            206,  // testing.wordcamp.org
     
    13371389
    13381390        $site_id = get_current_blog_id();
     1391
    13391392        if ( $site_id <= apply_filters( 'wcpt_session_post_slides_info_min_site_id', 699 ) && ! in_array( $site_id, $enabled_site_ids ) ) {
    13401393            return $content;
     
    13431396        $session_slides = get_post_meta( $post->ID, '_wcpt_session_slides', true );
    13441397
    1345         if ( empty ( $session_slides ) ) {
     1398        if ( empty( $session_slides ) ) {
    13461399            return $content;
    13471400        }
     
    13671420    function add_video_info_to_session_posts( $content ) {
    13681421        global $post;
     1422
    13691423        $enabled_site_ids = apply_filters( 'wcpt_session_post_video_info_enabled_site_ids', array(
    13701424            206,  // testing.wordcamp.org
     
    13781432
    13791433        $site_id = get_current_blog_id();
     1434
    13801435        if ( $site_id <= apply_filters( 'wcpt_session_post_video_info_min_site_id', 699 ) && ! in_array( $site_id, $enabled_site_ids ) ) {
    13811436            return $content;
     
    13841439        $session_video = get_post_meta( $post->ID, '_wcpt_session_video', true );
    13851440
    1386         if ( empty ( $session_video ) ) {
     1441        if ( empty( $session_video ) ) {
    13871442            return $content;
    13881443        }
     
    15281583        $wporg_user     = get_user_by( 'id', $user_id );
    15291584
    1530         if ( $wporg_user )
     1585        if ( $wporg_user ) {
    15311586            $wporg_username = $wporg_user->user_nicename;
     1587        }
    15321588        ?>
    15331589
     
    15571613        $wporg_user     = get_user_by( 'id', $user_id );
    15581614
    1559         if ( $wporg_user )
     1615        if ( $wporg_user ) {
    15601616            $wporg_username = $wporg_user->user_nicename;
     1617        }
    15611618        ?>
    15621619
     
    15761633    function metabox_speakers_list() {
    15771634        global $post;
     1635
    15781636        $speakers = get_post_meta( $post->ID, '_wcb_session_speakers', true );
     1637
    15791638        wp_enqueue_script( 'jquery-ui-autocomplete' );
    15801639
     
    15871646
    15881647        // We'll use these in js.
    1589         foreach ( $speakers_objects as $speaker_object )
     1648        foreach ( $speakers_objects as $speaker_object ) {
    15901649            $speakers_names[] = $speaker_object->post_title;
     1650        }
     1651
    15911652        $speakers_names_first = array_pop( $speakers_names );
     1653
    15921654        ?>
    15931655
    15941656        <?php wp_nonce_field( 'edit-speakers-list', 'wcpt-meta-speakers-list-nonce' ); ?>
     1657
    15951658        <!--<input type="text" class="text" id="wcpt-speakers-list" name="wcpt-speakers-list" value="<?php echo esc_attr( $speakers ); ?>" />-->
    1596         <textarea class="large-text" placeholder="Start typing a name" id="wcpt-speakers-list" name="wcpt-speakers-list"><?php echo esc_textarea( $speakers ); ?></textarea>
    1597         <p class="description"><?php _e( 'A speaker entry must exist first. Separate multiple speakers with commas.', 'wordcamporg' ); ?></p>
     1659        <textarea class="large-text" placeholder="Start typing a name" id="wcpt-speakers-list" name="wcpt-speakers-list"><?php
     1660            echo esc_textarea( $speakers );
     1661        ?></textarea>
     1662
     1663        <p class="description">
     1664            <?php _e( 'A speaker entry must exist first. Separate multiple speakers with commas.', 'wordcamporg' ); ?>
     1665        </p>
    15981666
    15991667        <script>
    1600         jQuery(document).ready( function($) {
    1601             var availableSpeakers = [ <?php
    1602                 foreach ( $speakers_names as $name ) { printf( "'%s', ", esc_js( $name ) ); }
    1603                 printf( "'%s'", esc_js( $speakers_names_first ) ); // avoid the trailing comma
    1604             ?> ];
    1605             function split( val ) {
    1606                 return val.split( /,\s*/ );
    1607             }
    1608             function extractLast( term ) {
    1609                 return split( term ).pop();
    1610             }
    1611             $( '#wcpt-speakers-list' )
    1612                 .bind( 'keydown', function( event ) {
     1668            jQuery( document ).ready( function ( $ ) {
     1669                var availableSpeakers = [
     1670                    <?php
     1671
     1672                    foreach ( $speakers_names as $name ) {
     1673                        printf( "'%s', ", esc_js( $name ) );
     1674                    }
     1675
     1676                    printf( "'%s'", esc_js( $speakers_names_first ) ); // avoid the trailing comma
     1677
     1678                    ?>
     1679                ];
     1680
     1681                function split( val ) {
     1682                    return val.split( /,\s*/ );
     1683                }
     1684
     1685                function extractLast( term ) {
     1686                    return split( term ).pop();
     1687                }
     1688
     1689                $( '#wcpt-speakers-list' ).bind( 'keydown', function ( event ) {
    16131690                    if ( event.keyCode == $.ui.keyCode.TAB &&
    16141691                        $( this ).data( 'autocomplete' ).menu.active ) {
    16151692                        event.preventDefault();
    16161693                    }
    1617                 })
    1618                 .autocomplete({
     1694                } ).autocomplete( {
    16191695                    minLength: 0,
    1620                     source: function( request, response ) {
     1696
     1697                    source: function ( request, response ) {
    16211698                        response( $.ui.autocomplete.filter(
    1622                             availableSpeakers, extractLast( request.term ) ) )
     1699                            availableSpeakers, extractLast( request.term ) ) );
    16231700                    },
    1624                     focus: function() {
     1701
     1702                    focus: function () {
    16251703                        return false;
    16261704                    },
    1627                     select: function( event, ui ) {
     1705
     1706                    select: function ( event, ui ) {
    16281707                        var terms = split( this.value );
    16291708                        terms.pop();
     
    16311710                        terms.push( '' );
    16321711                        this.value = terms.join( ', ' );
    1633                         $(this).focus();
     1712                        $( this ).focus();
    16341713                        return false;
    16351714                    },
    1636                     open: function() { $(this).addClass('open'); },
    1637                     close: function() { $(this).removeClass('open'); }
    1638                 });
    1639         });
     1715
     1716                    open: function () {
     1717                        $( this ).addClass( 'open' );
     1718                    },
     1719
     1720                    close: function () {
     1721                        $( this ).removeClass( 'open' );
     1722                    }
     1723                } );
     1724            } );
    16401725        </script>
    16411726
     
    16641749            <select name="wcpt-session-hour" aria-label="<?php _e( 'Session Start Hour', 'wordcamporg' ); ?>">
    16651750                <?php for ( $i = 1; $i <= 12; $i++ ) : ?>
    1666                     <option value="<?php echo esc_attr( $i ); ?>" <?php selected( $i, $session_hours ) ?>>
     1751                    <option value="<?php echo esc_attr( $i ); ?>" <?php selected( $i, $session_hours ); ?>>
    16671752                        <?php echo esc_html( $i ); ?>
    16681753                    </option>
     
    16721757            <select name="wcpt-session-minutes" aria-label="<?php _e( 'Session Start Minutes', 'wordcamporg' ); ?>">
    16731758                <?php for ( $i = '00'; (int) $i <= 55; $i = sprintf( '%02d', (int) $i + 5 ) ) : ?>
    1674                     <option value="<?php echo esc_attr( $i ); ?>" <?php selected( $i, $session_minutes ) ?>>
     1759                    <option value="<?php echo esc_attr( $i ); ?>" <?php selected( $i, $session_minutes ); ?>>
    16751760                        <?php echo esc_html( $i ); ?>
    16761761                    </option>
     
    16791764
    16801765            <select name="wcpt-session-meridiem" aria-label="<?php _e( 'Session Meridiem', 'wordcamporg' ); ?>">
    1681                 <option value="am" <?php selected( 'am', $session_meridiem ) ?>>am</option>
    1682                 <option value="pm" <?php selected( 'pm', $session_meridiem ) ?>>pm</option>
     1766                <option value="am" <?php selected( 'am', $session_meridiem ); ?>>am</option>
     1767                <option value="pm" <?php selected( 'pm', $session_meridiem ); ?>>pm</option>
    16831768            </select>
    16841769        </p>
     
    17111796     */
    17121797    function metabox_sponsor_info( $sponsor ) {
    1713         $company_name      = get_post_meta( $sponsor->ID, '_wcpt_sponsor_company_name',      true );
    1714         $website           = get_post_meta( $sponsor->ID, '_wcpt_sponsor_website',           true );
    1715         $first_name        = get_post_meta( $sponsor->ID, '_wcpt_sponsor_first_name',        true );
    1716         $last_name         = get_post_meta( $sponsor->ID, '_wcpt_sponsor_last_name',         true );
    1717         $email_address     = get_post_meta( $sponsor->ID, '_wcpt_sponsor_email_address',     true );
    1718         $phone_number      = get_post_meta( $sponsor->ID, '_wcpt_sponsor_phone_number',      true );
    1719         $vat_number        = get_post_meta( $sponsor->ID, '_wcpt_sponsor_vat_number',        true );
    1720         $twitter_handle    = get_post_meta( $sponsor->ID, '_wcpt_sponsor_twitter_handle',    true );
    1721 
    1722         $street_address1 = get_post_meta( $sponsor->ID, '_wcpt_sponsor_street_address1',   true );
    1723         $street_address2 = get_post_meta( $sponsor->ID, '_wcpt_sponsor_street_address2',   true );
    1724         $city            = get_post_meta( $sponsor->ID, '_wcpt_sponsor_city',              true );
    1725         $state           = get_post_meta( $sponsor->ID, '_wcpt_sponsor_state',             true );
    1726         $zip_code        = get_post_meta( $sponsor->ID, '_wcpt_sponsor_zip_code',          true );
    1727         $country         = get_post_meta( $sponsor->ID, '_wcpt_sponsor_country',           true );
     1798        $company_name   = get_post_meta( $sponsor->ID, '_wcpt_sponsor_company_name',   true );
     1799        $website        = get_post_meta( $sponsor->ID, '_wcpt_sponsor_website',        true );
     1800        $first_name     = get_post_meta( $sponsor->ID, '_wcpt_sponsor_first_name',     true );
     1801        $last_name      = get_post_meta( $sponsor->ID, '_wcpt_sponsor_last_name',      true );
     1802        $email_address  = get_post_meta( $sponsor->ID, '_wcpt_sponsor_email_address',  true );
     1803        $phone_number   = get_post_meta( $sponsor->ID, '_wcpt_sponsor_phone_number',   true );
     1804        $vat_number     = get_post_meta( $sponsor->ID, '_wcpt_sponsor_vat_number',     true );
     1805        $twitter_handle = get_post_meta( $sponsor->ID, '_wcpt_sponsor_twitter_handle', true );
     1806
     1807        $street_address1 = get_post_meta( $sponsor->ID, '_wcpt_sponsor_street_address1', true );
     1808        $street_address2 = get_post_meta( $sponsor->ID, '_wcpt_sponsor_street_address2', true );
     1809        $city            = get_post_meta( $sponsor->ID, '_wcpt_sponsor_city',            true );
     1810        $state           = get_post_meta( $sponsor->ID, '_wcpt_sponsor_state',           true );
     1811        $zip_code        = get_post_meta( $sponsor->ID, '_wcpt_sponsor_zip_code',        true );
     1812        $country         = get_post_meta( $sponsor->ID, '_wcpt_sponsor_country',         true );
    17281813
    17291814        if ( $state === $this->get_sponsor_info_state_default_value() ) {
     
    18111896     */
    18121897    function save_post_speaker( $post_id, $post ) {
    1813         if ( wp_is_post_revision( $post_id ) || $post->post_type != 'wcb_speaker' || ! current_user_can( 'edit_post', $post_id ) )
     1898        if ( wp_is_post_revision( $post_id ) || $post->post_type != 'wcb_speaker' || ! current_user_can( 'edit_post', $post_id ) ) {
    18141899            return;
     1900        }
    18151901
    18161902        if ( isset( $_POST['wcpt-meta-speaker-info'] ) && wp_verify_nonce( $_POST['wcpt-meta-speaker-info'], 'edit-speaker-info' ) ) {
     
    18191905            $wporg_user     = wcorg_get_user_by_canonical_names( $wporg_username );
    18201906
    1821             if ( empty( $email ) )
     1907            if ( empty( $email ) ) {
    18221908                delete_post_meta( $post_id, '_wcb_speaker_email' );
    1823             elseif ( $email && is_email( $email ) )
     1909            } elseif ( $email && is_email( $email ) ) {
    18241910                update_post_meta( $post_id, '_wcb_speaker_email', $email );
    1825 
    1826             if ( ! $wporg_user )
     1911            }
     1912
     1913            if ( ! $wporg_user ) {
    18271914                delete_post_meta( $post_id, '_wcpt_user_id' );
    1828             else
     1915            } else {
    18291916                update_post_meta( $post_id, '_wcpt_user_id', $wporg_user->ID );
     1917            }
    18301918        }
    18311919    }
     
    18351923     */
    18361924    function save_post_organizer( $post_id, $post ) {
    1837         if ( wp_is_post_revision( $post_id ) || $post->post_type != 'wcb_organizer' || ! current_user_can( 'edit_post', $post_id ) )
     1925        if ( wp_is_post_revision( $post_id ) || $post->post_type != 'wcb_organizer' || ! current_user_can( 'edit_post', $post_id ) ) {
    18381926            return;
     1927        }
    18391928
    18401929        if ( isset( $_POST['wcpt-meta-organizer-info'] ) && wp_verify_nonce( $_POST['wcpt-meta-organizer-info'], 'edit-organizer-info' ) ) {
    18411930            $wporg_username = sanitize_text_field( $_POST['wcpt-wporg-username'] );
    1842             $wporg_user = wcorg_get_user_by_canonical_names( $wporg_username );
    1843 
    1844             if ( ! $wporg_user )
     1931            $wporg_user     = wcorg_get_user_by_canonical_names( $wporg_username );
     1932
     1933            if ( ! $wporg_user ) {
    18451934                delete_post_meta( $post_id, '_wcpt_user_id' );
    1846             else
     1935            } else {
    18471936                update_post_meta( $post_id, '_wcpt_user_id', $wporg_user->ID );
     1937            }
    18481938        }
    18491939    }
     
    18531943     */
    18541944    function save_post_session( $post_id, $post ) {
    1855         if ( wp_is_post_revision( $post_id ) || $post->post_type != 'wcb_session' )
     1945        if ( wp_is_post_revision( $post_id ) || $post->post_type != 'wcb_session' ) {
    18561946            return;
     1947        }
    18571948
    18581949        if ( isset( $_POST['wcpt-meta-speakers-list-nonce'] ) && wp_verify_nonce( $_POST['wcpt-meta-speakers-list-nonce'], 'edit-speakers-list' ) && current_user_can( 'edit_post', $post_id ) ) {
     
    18761967            // Update session type
    18771968            $session_type = sanitize_text_field( $_POST['wcpt-session-type'] );
    1878             if ( ! in_array( $session_type, array( 'session', 'custom' ) ) )
     1969            if ( ! in_array( $session_type, array( 'session', 'custom' ) ) ) {
    18791970                $session_type = 'session';
     1971            }
    18801972
    18811973            update_post_meta( $post_id, '_wcpt_session_type', $session_type );
     
    18951987        $speakers_list = explode( ',', $speakers_list );
    18961988
    1897         if ( ! is_array( $speakers_list ) )
     1989        if ( ! is_array( $speakers_list ) ) {
    18981990            $speakers_list = array();
     1991        }
    18991992
    19001993        $speaker_ids = array();
     
    19021995
    19031996        foreach ( $speakers as $speaker_name ) {
    1904             if ( empty( $speaker_name ) )
     1997            if ( empty( $speaker_name ) ) {
    19051998                continue;
     1999            }
    19062000
    19072001            /*
     
    19152009             */
    19162010            $speaker = get_page_by_title( $speaker_name, OBJECT, 'wcb_speaker' );
    1917             if ( $speaker )
     2011            if ( $speaker ) {
    19182012                $speaker_ids[] = $speaker->ID;
     2013            }
    19192014        }
    19202015
     
    19222017        $speaker_ids = array_unique( $speaker_ids );
    19232018        delete_post_meta( $post_id, '_wcpt_speaker_id' );
    1924         foreach ( $speaker_ids as $speaker_id )
     2019        foreach ( $speaker_ids as $speaker_id ) {
    19252020            add_post_meta( $post_id, '_wcpt_speaker_id', $speaker_id );
     2021        }
    19262022
    19272023        // Set the speaker as the author of the session post, so the single
     
    19292025        foreach ( $speaker_ids as $speaker_post ) {
    19302026            $wporg_user_id = get_post_meta( $speaker_post, '_wcpt_user_id', true );
    1931             $user = get_user_by( 'id', $wporg_user_id );
     2027            $user          = get_user_by( 'id', $wporg_user_id );
    19322028
    19332029            if ( $user ) {
    1934                 remove_action( 'save_post', array( $this, 'save_post_session' ), 10, 2 );   // avoid infinite recursion
     2030                remove_action( 'save_post', array( $this, 'save_post_session' ), 10 );   // avoid infinite recursion
    19352031                wp_update_post( array(
    19362032                    'ID'          => $post_id,
    1937                     'post_author' => $user->ID
     2033                    'post_author' => $user->ID,
    19382034                ) );
    19392035                add_action( 'save_post', array( $this, 'save_post_session' ), 10, 2 );
     
    19662062            }
    19672063
    1968             $values['website'] = esc_url_raw( filter_input( INPUT_POST, '_wcpt_sponsor_website' ) );
    1969             // TODO: maybe only allows links to home page, depending on outcome of http://make.wordpress.org/community/2013/12/31/irs-rules-for-corporate-sponsorship-of-wordcamp/
    1970 
     2064            $values['website']    = esc_url_raw( filter_input( INPUT_POST, '_wcpt_sponsor_website' ) );
     2065                // TODO: maybe only allows links to home page, depending on outcome of http://make.wordpress.org/community/2013/12/31/irs-rules-for-corporate-sponsorship-of-wordcamp/
    19712066            $values['first_name'] = ucfirst( $values['first_name'] );
    1972             $values['last_name' ] = ucfirst( $values['last_name' ] );
    1973 
    1974             $values['agreement'] = filter_input( INPUT_POST, '_wcpt_sponsor_agreement', FILTER_SANITIZE_NUMBER_INT );
    1975 
    1976             foreach( $values as $id => $value ) {
     2067            $values['last_name']  = ucfirst( $values['last_name'] );
     2068            $values['agreement']  = filter_input( INPUT_POST, '_wcpt_sponsor_agreement', FILTER_SANITIZE_NUMBER_INT );
     2069
     2070            foreach ( $values as $id => $value ) {
    19772071                $meta_key = '_wcpt_sponsor_' . $id;
    19782072
     
    19922086        // Speaker post type labels.
    19932087        $labels = array(
    1994             'name'                  => __( 'Speakers', 'wordcamporg' ),
    1995             'singular_name'         => __( 'Speaker', 'wordcamporg' ),
    1996             'add_new'               => __( 'Add New', 'wordcamporg' ),
    1997             'add_new_item'          => __( 'Create New Speaker', 'wordcamporg' ),
    1998             'edit'                  => __( 'Edit', 'wordcamporg' ),
    1999             'edit_item'             => __( 'Edit Speaker', 'wordcamporg' ),
    2000             'new_item'              => __( 'New Speaker', 'wordcamporg' ),
    2001             'view'                  => __( 'View Speaker', 'wordcamporg' ),
    2002             'view_item'             => __( 'View Speaker', 'wordcamporg' ),
    2003             'search_items'          => __( 'Search Speakers', 'wordcamporg' ),
    2004             'not_found'             => __( 'No speakers found', 'wordcamporg' ),
    2005             'not_found_in_trash'    => __( 'No speakers found in Trash', 'wordcamporg' ),
    2006             'parent_item_colon'     => __( 'Parent Speaker:', 'wordcamporg' ),
     2088            'name'               => __( 'Speakers',                  'wordcamporg' ),
     2089            'singular_name'      => __( 'Speaker',                    'wordcamporg' ),
     2090            'add_new'            => __( 'Add New',                    'wordcamporg' ),
     2091            'add_new_item'       => __( 'Create New Speaker',        'wordcamporg' ),
     2092            'edit'               => __( 'Edit',                      'wordcamporg' ),
     2093            'edit_item'          => __( 'Edit Speaker',              'wordcamporg' ),
     2094            'new_item'           => __( 'New Speaker',                'wordcamporg' ),
     2095            'view'               => __( 'View Speaker',              'wordcamporg' ),
     2096            'view_item'          => __( 'View Speaker',              'wordcamporg' ),
     2097            'search_items'       => __( 'Search Speakers',            'wordcamporg' ),
     2098            'not_found'          => __( 'No speakers found',          'wordcamporg' ),
     2099            'not_found_in_trash' => __( 'No speakers found in Trash', 'wordcamporg' ),
     2100            'parent_item_colon'  => __( 'Parent Speaker:',            'wordcamporg' ),
    20072101        );
    20082102
    20092103        // Register speaker post type.
    2010         register_post_type( 'wcb_speaker', array(
    2011             'labels'            => $labels,
    2012             'rewrite'           => array( 'slug' => 'speaker', 'with_front' => true ),
    2013             'supports'          => array( 'title', 'editor', 'author', 'revisions', 'comments', 'custom-fields' ),
    2014             'menu_position'     => 20,
    2015             'public'            => true,
    2016             'show_ui'           => true,
    2017             'can_export'        => true,
    2018             'capability_type'   => 'post',
    2019             'hierarchical'      => false,
    2020             'query_var'         => true,
    2021             'menu_icon'         => 'dashicons-megaphone',
    2022             'show_in_rest'      => true,
    2023             'rest_base'         => 'speakers',
    2024         ) );
     2104        register_post_type(
     2105            'wcb_speaker',
     2106            array(
     2107                'labels'          => $labels,
     2108                'rewrite'         => array( 'slug' => 'speaker', 'with_front' => true, ),
     2109                'supports'        => array( 'title', 'editor', 'author', 'revisions', 'comments', 'custom-fields' ),
     2110                'menu_position'   => 20,
     2111                'public'          => true,
     2112                'show_ui'         => true,
     2113                'can_export'      => true,
     2114                'capability_type' => 'post',
     2115                'hierarchical'    => false,
     2116                'query_var'       => true,
     2117                'menu_icon'       => 'dashicons-megaphone',
     2118                'show_in_rest'    => true,
     2119                'rest_base'       => 'speakers',
     2120            )
     2121        );
    20252122
    20262123        // Session post type labels.
    20272124        $labels = array(
    2028             'name'                  => __( 'Sessions', 'wordcamporg' ),
    2029             'singular_name'         => __( 'Session', 'wordcamporg' ),
    2030             'add_new'               => __( 'Add New', 'wordcamporg' ),
    2031             'add_new_item'          => __( 'Create New Session', 'wordcamporg' ),
    2032             'edit'                  => __( 'Edit', 'wordcamporg' ),
    2033             'edit_item'             => __( 'Edit Session', 'wordcamporg' ),
    2034             'new_item'              => __( 'New Session', 'wordcamporg' ),
    2035             'view'                  => __( 'View Session', 'wordcamporg' ),
    2036             'view_item'             => __( 'View Session', 'wordcamporg' ),
    2037             'search_items'          => __( 'Search Sessions', 'wordcamporg' ),
    2038             'not_found'             => __( 'No sessions found', 'wordcamporg' ),
    2039             'not_found_in_trash'    => __( 'No sessions found in Trash', 'wordcamporg' ),
    2040             'parent_item_colon'     => __( 'Parent Session:', 'wordcamporg' ),
     2125            'name'               => __( 'Sessions',                  'wordcamporg' ),
     2126            'singular_name'      => __( 'Session',                    'wordcamporg' ),
     2127            'add_new'            => __( 'Add New',                    'wordcamporg' ),
     2128            'add_new_item'       => __( 'Create New Session',        'wordcamporg' ),
     2129            'edit'               => __( 'Edit',                      'wordcamporg' ),
     2130            'edit_item'          => __( 'Edit Session',              'wordcamporg' ),
     2131            'new_item'           => __( 'New Session',                'wordcamporg' ),
     2132            'view'               => __( 'View Session',              'wordcamporg' ),
     2133            'view_item'          => __( 'View Session',              'wordcamporg' ),
     2134            'search_items'       => __( 'Search Sessions',            'wordcamporg' ),
     2135            'not_found'          => __( 'No sessions found',          'wordcamporg' ),
     2136            'not_found_in_trash' => __( 'No sessions found in Trash', 'wordcamporg' ),
     2137            'parent_item_colon'  => __( 'Parent Session:',            'wordcamporg' ),
    20412138        );
    20422139
    20432140        // Register session post type.
    2044         register_post_type( 'wcb_session', array(
    2045             'labels'            => $labels,
    2046             'rewrite'           => array( 'slug' => 'session', 'with_front' => false ),
    2047             'supports'          => array( 'title', 'editor', 'author', 'revisions', 'thumbnail', 'custom-fields' ),
    2048             'menu_position'     => 21,
    2049             'public'            => true,
    2050             'show_ui'           => true,
    2051             'can_export'        => true,
    2052             'capability_type'   => 'post',
    2053             'hierarchical'      => false,
    2054             'query_var'         => true,
    2055             'menu_icon'         => 'dashicons-schedule',
    2056             'show_in_rest'      => true,
    2057             'rest_base'         => 'sessions',
    2058         ) );
     2141        register_post_type(
     2142            'wcb_session',
     2143            array(
     2144                'labels'          => $labels,
     2145                'rewrite'         => array( 'slug' => 'session', 'with_front' => false, ),
     2146                'supports'        => array( 'title', 'editor', 'author', 'revisions', 'thumbnail', 'custom-fields' ),
     2147                'menu_position'   => 21,
     2148                'public'          => true,
     2149                'show_ui'         => true,
     2150                'can_export'      => true,
     2151                'capability_type' => 'post',
     2152                'hierarchical'    => false,
     2153                'query_var'       => true,
     2154                'menu_icon'       => 'dashicons-schedule',
     2155                'show_in_rest'    => true,
     2156                'rest_base'       => 'sessions',
     2157            )
     2158        );
    20592159
    20602160        // Sponsor post type labels.
    20612161        $labels = array(
    2062             'name'                  => __( 'Sponsors', 'wordcamporg' ),
    2063             'singular_name'         => __( 'Sponsor', 'wordcamporg' ),
    2064             'add_new'               => __( 'Add New', 'wordcamporg' ),
    2065             'add_new_item'          => __( 'Create New Sponsor', 'wordcamporg' ),
    2066             'edit'                  => __( 'Edit', 'wordcamporg' ),
    2067             'edit_item'             => __( 'Edit Sponsor', 'wordcamporg' ),
    2068             'new_item'              => __( 'New Sponsor', 'wordcamporg' ),
    2069             'view'                  => __( 'View Sponsor', 'wordcamporg' ),
    2070             'view_item'             => __( 'View Sponsor', 'wordcamporg' ),
    2071             'search_items'          => __( 'Search Sponsors', 'wordcamporg' ),
    2072             'not_found'             => __( 'No sponsors found', 'wordcamporg' ),
    2073             'not_found_in_trash'    => __( 'No sponsors found in Trash', 'wordcamporg' ),
    2074             'parent_item_colon'     => __( 'Parent Sponsor:', 'wordcamporg' ),
     2162            'name'               => __( 'Sponsors',                  'wordcamporg' ),
     2163            'singular_name'      => __( 'Sponsor',                    'wordcamporg' ),
     2164            'add_new'            => __( 'Add New',                    'wordcamporg' ),
     2165            'add_new_item'       => __( 'Create New Sponsor',        'wordcamporg' ),
     2166            'edit'               => __( 'Edit',                      'wordcamporg' ),
     2167            'edit_item'          => __( 'Edit Sponsor',              'wordcamporg' ),
     2168            'new_item'           => __( 'New Sponsor',                'wordcamporg' ),
     2169            'view'               => __( 'View Sponsor',              'wordcamporg' ),
     2170            'view_item'          => __( 'View Sponsor',              'wordcamporg' ),
     2171            'search_items'       => __( 'Search Sponsors',            'wordcamporg' ),
     2172            'not_found'          => __( 'No sponsors found',          'wordcamporg' ),
     2173            'not_found_in_trash' => __( 'No sponsors found in Trash', 'wordcamporg' ),
     2174            'parent_item_colon'  => __( 'Parent Sponsor:',            'wordcamporg' ),
    20752175        );
    20762176
    20772177        // Register sponsor post type.
    2078         register_post_type( 'wcb_sponsor', array(
    2079             'labels'            => $labels,
    2080             'rewrite'           => array( 'slug' => 'sponsor', 'with_front' => false ),
    2081             'supports'          => array( 'title', 'editor', 'revisions', 'thumbnail', 'custom-fields' ),
    2082             'menu_position'     => 21,
    2083             'public'            => true,
    2084             'show_ui'           => true,
    2085             'can_export'        => true,
    2086             'capability_type'   => 'post',
    2087             'hierarchical'      => false,
    2088             'query_var'         => true,
    2089             'menu_icon'         => 'dashicons-heart',
    2090             'show_in_rest'      => true,
    2091             'rest_base'         => 'sponsors',
    2092         ) );
     2178        register_post_type(
     2179            'wcb_sponsor',
     2180            array(
     2181                'labels'          => $labels,
     2182                'rewrite'         => array( 'slug' => 'sponsor', 'with_front' => false, ),
     2183                'supports'        => array( 'title', 'editor', 'revisions', 'thumbnail', 'custom-fields' ),
     2184                'menu_position'   => 21,
     2185                'public'          => true,
     2186                'show_ui'         => true,
     2187                'can_export'      => true,
     2188                'capability_type' => 'post',
     2189                'hierarchical'    => false,
     2190                'query_var'       => true,
     2191                'menu_icon'       => 'dashicons-heart',
     2192                'show_in_rest'    => true,
     2193                'rest_base'       => 'sponsors',
     2194            )
     2195        );
    20932196
    20942197        // Organizer post type labels.
    20952198        $labels = array(
    2096             'name'                  => __( 'Organizers', 'wordcamporg' ),
    2097             'singular_name'         => __( 'Organizer', 'wordcamporg' ),
    2098             'add_new'               => __( 'Add New', 'wordcamporg' ),
    2099             'add_new_item'          => __( 'Create New Organizer', 'wordcamporg' ),
    2100             'edit'                  => __( 'Edit', 'wordcamporg' ),
    2101             'edit_item'             => __( 'Edit Organizer', 'wordcamporg' ),
    2102             'new_item'              => __( 'New Organizer', 'wordcamporg' ),
    2103             'view'                  => __( 'View Organizer', 'wordcamporg' ),
    2104             'view_item'             => __( 'View Organizer', 'wordcamporg' ),
    2105             'search_items'          => __( 'Search Organizers', 'wordcamporg' ),
    2106             'not_found'             => __( 'No organizers found', 'wordcamporg' ),
    2107             'not_found_in_trash'    => __( 'No organizers found in Trash', 'wordcamporg' ),
    2108             'parent_item_colon'     => __( 'Parent Organizer:', 'wordcamporg' ),
     2199            'name'               => __( 'Organizers',                  'wordcamporg' ),
     2200            'singular_name'      => __( 'Organizer',                    'wordcamporg' ),
     2201            'add_new'            => __( 'Add New',                      'wordcamporg' ),
     2202            'add_new_item'       => __( 'Create New Organizer',        'wordcamporg' ),
     2203            'edit'               => __( 'Edit',                        'wordcamporg' ),
     2204            'edit_item'          => __( 'Edit Organizer',              'wordcamporg' ),
     2205            'new_item'           => __( 'New Organizer',                'wordcamporg' ),
     2206            'view'               => __( 'View Organizer',              'wordcamporg' ),
     2207            'view_item'          => __( 'View Organizer',              'wordcamporg' ),
     2208            'search_items'       => __( 'Search Organizers',            'wordcamporg' ),
     2209            'not_found'          => __( 'No organizers found',          'wordcamporg' ),
     2210            'not_found_in_trash' => __( 'No organizers found in Trash', 'wordcamporg' ),
     2211            'parent_item_colon'  => __( 'Parent Organizer:',            'wordcamporg' ),
    21092212        );
    21102213
    21112214        // Register organizer post type.
    2112         register_post_type( 'wcb_organizer', array(
    2113             'labels'            => $labels,
    2114             'rewrite'           => array( 'slug' => 'organizer', 'with_front' => false ),
    2115             'supports'          => array( 'title', 'editor', 'revisions' ),
    2116             'menu_position'     => 22,
    2117             'public'            => false,
    2118                 // todo public or publicly_queryable = true, so consistent with others? at the very least set show_in_json = true
    2119             'show_ui'           => true,
    2120             'can_export'        => true,
    2121             'capability_type'   => 'post',
    2122             'hierarchical'      => false,
    2123             'query_var'         => true,
    2124             'menu_icon'         => 'dashicons-groups',
    2125         ) );
     2215        register_post_type(
     2216            'wcb_organizer',
     2217            array(
     2218                'labels'          => $labels,
     2219                'rewrite'         => array( 'slug' => 'organizer', 'with_front' => false, ),
     2220                'supports'        => array( 'title', 'editor', 'revisions' ),
     2221                'menu_position'   => 22,
     2222                'public'          => false,
     2223                    // todo public or publicly_queryable = true, so consistent with others? at the very least set show_in_json = true
     2224                'show_ui'         => true,
     2225                'can_export'      => true,
     2226                'capability_type' => 'post',
     2227                'hierarchical'    => false,
     2228                'query_var'       => true,
     2229                'menu_icon'       => 'dashicons-groups',
     2230            )
     2231        );
    21262232    }
    21272233
     
    21322238        // Labels for tracks.
    21332239        $labels = array(
    2134             'name'              => __( 'Tracks', 'wordcamporg' ),
    2135             'singular_name'     => __( 'Track', 'wordcamporg' ),
    2136             'search_items'      => __( 'Search Tracks', 'wordcamporg' ),
    2137             'popular_items'     => __( 'Popular Tracks','wordcamporg' ),
    2138             'all_items'         => __( 'All Tracks', 'wordcamporg' ),
    2139             'edit_item'         => __( 'Edit Track', 'wordcamporg' ),
    2140             'update_item'       => __( 'Update Track', 'wordcamporg' ),
    2141             'add_new_item'      => __( 'Add Track', 'wordcamporg' ),
    2142             'new_item_name'     => __( 'New Track', 'wordcamporg' ),
     2240            'name'          => __( 'Tracks',        'wordcamporg' ),
     2241            'singular_name' => __( 'Track',          'wordcamporg' ),
     2242            'search_items'  => __( 'Search Tracks', 'wordcamporg' ),
     2243            'popular_items' => __( 'Popular Tracks', 'wordcamporg' ),
     2244            'all_items'     => __( 'All Tracks',    'wordcamporg' ),
     2245            'edit_item'     => __( 'Edit Track',    'wordcamporg' ),
     2246            'update_item'   => __( 'Update Track',  'wordcamporg' ),
     2247            'add_new_item'  => __( 'Add Track',      'wordcamporg' ),
     2248            'new_item_name' => __( 'New Track',      'wordcamporg' ),
    21432249        );
    21442250
    21452251        // Register the Tracks taxonomy.
    2146         register_taxonomy( 'wcb_track', 'wcb_session', array(
    2147             'labels'       => $labels,
    2148             'rewrite'      => array( 'slug' => 'track' ),
    2149             'query_var'    => 'track',
    2150             'hierarchical' => true,
    2151             'public'       => true,
    2152             'show_ui'      => true,
    2153             'show_in_rest' => true,
    2154             'rest_base'    => 'session_track',
    2155         ) );
     2252        register_taxonomy(
     2253            'wcb_track',
     2254            'wcb_session',
     2255            array(
     2256                'labels'       => $labels,
     2257                'rewrite'      => array( 'slug' => 'track' ),
     2258                'query_var'    => 'track',
     2259                'hierarchical' => true,
     2260                'public'       => true,
     2261                'show_ui'      => true,
     2262                'show_in_rest' => true,
     2263                'rest_base'    => 'session_track',
     2264            )
     2265        );
    21562266
    21572267        // Labels for categories.
    21582268        $labels = array(
    2159             'name'              => __( 'Categories', 'wordcamporg' ),
    2160             'singular_name'     => __( 'Category', 'wordcamporg' ),
    2161             'search_items'      => __( 'Search Categories', 'wordcamporg' ),
    2162             'popular_items'     => __( 'Popular Categories','wordcamporg' ),
    2163             'all_items'         => __( 'All Categories', 'wordcamporg' ),
    2164             'edit_item'         => __( 'Edit Category', 'wordcamporg' ),
    2165             'update_item'       => __( 'Update Category', 'wordcamporg' ),
    2166             'add_new_item'      => __( 'Add Category', 'wordcamporg' ),
    2167             'new_item_name'     => __( 'New Category', 'wordcamporg' ),
     2269            'name'          => __( 'Categories',        'wordcamporg' ),
     2270            'singular_name' => __( 'Category',          'wordcamporg' ),
     2271            'search_items'  => __( 'Search Categories', 'wordcamporg' ),
     2272            'popular_items' => __( 'Popular Categories', 'wordcamporg' ),
     2273            'all_items'     => __( 'All Categories',    'wordcamporg' ),
     2274            'edit_item'     => __( 'Edit Category',      'wordcamporg' ),
     2275            'update_item'   => __( 'Update Category',    'wordcamporg' ),
     2276            'add_new_item'  => __( 'Add Category',      'wordcamporg' ),
     2277            'new_item_name' => __( 'New Category',      'wordcamporg' ),
    21682278        );
    21692279
    21702280        // Register the Categories taxonomy.
    2171         register_taxonomy( 'wcb_session_category', 'wcb_session', array(
    2172             'labels'       => $labels,
    2173             'rewrite'      => array( 'slug' => 'session-category' ),
    2174             'query_var'    => 'session_category',
    2175             'hierarchical' => true,
    2176             'public'       => true,
    2177             'show_ui'      => true,
    2178             'show_in_rest' => true,
    2179             'rest_base'    => 'session_category',
    2180         ) );
     2281        register_taxonomy(
     2282            'wcb_session_category',
     2283            'wcb_session',
     2284            array(
     2285                'labels'       => $labels,
     2286                'rewrite'      => array( 'slug' => 'session-category' ),
     2287                'query_var'    => 'session_category',
     2288                'hierarchical' => true,
     2289                'public'       => true,
     2290                'show_ui'      => true,
     2291                'show_in_rest' => true,
     2292                'rest_base'    => 'session_category',
     2293            )
     2294        );
    21812295
    21822296        // Labels for sponsor levels.
    21832297        $labels = array(
    2184             'name'              => __( 'Sponsor Levels', 'wordcamporg' ),
    2185             'singular_name'     => __( 'Sponsor Level', 'wordcamporg' ),
    2186             'search_items'      => __( 'Search Sponsor Levels', 'wordcamporg' ),
    2187             'popular_items'     => __( 'Popular Sponsor Levels', 'wordcamporg' ),
    2188             'all_items'         => __( 'All Sponsor Levels', 'wordcamporg' ),
    2189             'edit_item'         => __( 'Edit Sponsor Level', 'wordcamporg' ),
    2190             'update_item'       => __( 'Update Sponsor Level', 'wordcamporg' ),
    2191             'add_new_item'      => __( 'Add Sponsor Level', 'wordcamporg' ),
    2192             'new_item_name'     => __( 'New Sponsor Level', 'wordcamporg' ),
     2298            'name'          => __( 'Sponsor Levels',        'wordcamporg' ),
     2299            'singular_name' => __( 'Sponsor Level',          'wordcamporg' ),
     2300            'search_items'  => __( 'Search Sponsor Levels', 'wordcamporg' ),
     2301            'popular_items' => __( 'Popular Sponsor Levels', 'wordcamporg' ),
     2302            'all_items'     => __( 'All Sponsor Levels',    'wordcamporg' ),
     2303            'edit_item'     => __( 'Edit Sponsor Level',    'wordcamporg' ),
     2304            'update_item'   => __( 'Update Sponsor Level',  'wordcamporg' ),
     2305            'add_new_item'  => __( 'Add Sponsor Level',      'wordcamporg' ),
     2306            'new_item_name' => __( 'New Sponsor Level',      'wordcamporg' ),
    21932307        );
    21942308
    21952309        // Register sponsor level taxonomy
    2196         register_taxonomy( 'wcb_sponsor_level', 'wcb_sponsor', array(
    2197             'labels'       => $labels,
    2198             'rewrite'      => array( 'slug' => 'sponsor_level' ),
    2199             'query_var'    => 'sponsor_level',
    2200             'hierarchical' => true,
    2201             'public'       => true,
    2202             'show_ui'      => true,
    2203             'show_in_rest' => true,
    2204             'rest_base'    => 'sponsor_level',
    2205         ) );
     2310        register_taxonomy(
     2311            'wcb_sponsor_level',
     2312            'wcb_sponsor',
     2313            array(
     2314                'labels'       => $labels,
     2315                'rewrite'      => array( 'slug' => 'sponsor_level' ),
     2316                'query_var'    => 'sponsor_level',
     2317                'hierarchical' => true,
     2318                'public'       => true,
     2319                'show_ui'      => true,
     2320                'show_in_rest' => true,
     2321                'rest_base'    => 'sponsor_level',
     2322            )
     2323        );
    22062324
    22072325        // Labels for organizer teams.
     
    22822400                $original_columns = $columns;
    22832401
    2284                 $columns = array_slice( $original_columns, 0, 1, true );
     2402                $columns  = array_slice( $original_columns, 0, 1, true );
    22852403                $columns += array( 'wcb_speaker_avatar' => __( 'Avatar', 'wordcamporg' ) );
    22862404                $columns += array_slice( $original_columns, 1, 1, true );
     
    22952413            case 'manage_wcb_session_posts_columns':
    22962414                $columns = array_slice( $columns, 0, 2, true ) + array( 'wcb_session_speakers' => __( 'Speakers', 'wordcamporg' ) ) + array_slice( $columns, 2, null, true );
    2297                 $columns = array_slice( $columns, 0, 1, true ) + array( 'wcb_session_time'     => __( 'Time', 'wordcamporg' ) )    + array_slice( $columns, 1, null, true );
     2415                $columns = array_slice( $columns, 0, 1, true ) + array( 'wcb_session_time'     => __( 'Time',     'wordcamporg' ) ) + array_slice( $columns, 1, null, true );
    22982416                break;
    22992417            default:
     
    23352453
    23362454            case 'wcb_session_speakers':
    2337                 $speakers = array();
     2455                $speakers     = array();
    23382456                $speakers_ids = array_map( 'absint', (array) get_post_meta( $post_id, '_wcpt_speaker_id' ) );
     2457
    23392458                if ( ! empty( $speakers_ids ) ) {
    23402459                    $speakers = get_posts( array(
    2341                         'post_type' => 'wcb_speaker',
     2460                        'post_type'      => 'wcb_speaker',
    23422461                        'posts_per_page' => -1,
    2343                         'post__in' => $speakers_ids,
     2462                        'post__in'       => $speakers_ids,
    23442463                    ) );
    23452464                }
    23462465
    23472466                $output = array();
     2467
    23482468                foreach ( $speakers as $speaker ) {
    23492469                    $output[] = sprintf( '<a href="%s">%s</a>', esc_url( get_edit_post_link( $speaker->ID ) ), esc_html( apply_filters( 'the_title', $speaker->post_title ) ) );
    23502470                }
     2471
    23512472                echo implode( ', ', $output );
    23522473
     
    23692490        $current_filter = current_filter();
    23702491
    2371         if ( 'manage_edit-wcb_session_sortable_columns' == $current_filter )
     2492        if ( 'manage_edit-wcb_session_sortable_columns' == $current_filter ) {
    23722493            $sortable['wcb_session_time'] = '_wcpt_session_time';
     2494        }
    23732495
    23742496        return $sortable;
     
    23812503        $post = get_post();
    23822504
    2383         if ( 'wcb_session' != $post->post_type )
     2505        if ( 'wcb_session' != $post->post_type ) {
    23842506            return $states;
     2507        }
    23852508
    23862509        $session_type = get_post_meta( $post->ID, '_wcpt_session_type', true );
    2387         if ( ! in_array( $session_type, array( 'session', 'custom' ) ) )
     2510        if ( ! in_array( $session_type, array( 'session', 'custom' ) ) ) {
    23882511            $session_type = 'session';
    2389 
    2390         if ( 'session' == $session_type )
     2512        }
     2513
     2514        if ( 'session' == $session_type ) {
    23912515            $states['wcpt-session-type'] = __( 'Session', 'wordcamporg' );
    2392         elseif ( 'custom' == $session_type )
     2516        } elseif ( 'custom' == $session_type ) {
    23932517            $states['wcpt-session-type'] = __( 'Custom', 'wordcamporg' );
     2518        }
    23942519
    23952520        return $states;
     
    24592584    public function default_comment_ping_status( $status ) {
    24602585        $screen = get_current_screen();
    2461         if ( ! empty( $screen->post_type ) && $screen->post_type == 'wcb_speaker' )
     2586        if ( ! empty( $screen->post_type ) && $screen->post_type == 'wcb_speaker' ) {
    24622587            $status = 'closed';
     2588        }
    24632589
    24642590        return $status;
     
    24672593
    24682594// Load the plugin class.
    2469 $GLOBALS['wcpt_plugin'] = new WordCamp_Post_Types_Plugin;
     2595$GLOBALS['wcpt_plugin'] = new WordCamp_Post_Types_Plugin();
Note: See TracChangeset for help on using the changeset viewer.