<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>[6764] sites/trunk/wordcamp.org/public_html/wp-content/plugins/wc-post-types: WordCamp Post Types: Apply coding standards.</title>
</head>
<body>

<style type="text/css"><!--
#msg dl.meta { border: 1px #006 solid; background: #369; padding: 6px; color: #fff; }
#msg dl.meta dt { float: left; width: 6em; font-weight: bold; }
#msg dt:after { content:':';}
#msg dl, #msg dt, #msg ul, #msg li, #header, #footer, #logmsg { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt;  }
#msg dl a { font-weight: bold}
#msg dl a:link    { color:#fc3; }
#msg dl a:active  { color:#ff0; }
#msg dl a:visited { color:#cc6; }
h3 { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt; font-weight: bold; }
#msg pre { overflow: auto; background: #ffc; border: 1px #fa0 solid; padding: 6px; }
#logmsg { background: #ffc; border: 1px #fa0 solid; padding: 1em 1em 0 1em; }
#logmsg p, #logmsg pre, #logmsg blockquote { margin: 0 0 1em 0; }
#logmsg p, #logmsg li, #logmsg dt, #logmsg dd { line-height: 14pt; }
#logmsg h1, #logmsg h2, #logmsg h3, #logmsg h4, #logmsg h5, #logmsg h6 { margin: .5em 0; }
#logmsg h1:first-child, #logmsg h2:first-child, #logmsg h3:first-child, #logmsg h4:first-child, #logmsg h5:first-child, #logmsg h6:first-child { margin-top: 0; }
#logmsg ul, #logmsg ol { padding: 0; list-style-position: inside; margin: 0 0 0 1em; }
#logmsg ul { text-indent: -1em; padding-left: 1em; }#logmsg ol { text-indent: -1.5em; padding-left: 1.5em; }
#logmsg > ul, #logmsg > ol { margin: 0 0 1em 0; }
#logmsg pre { background: #eee; padding: 1em; }
#logmsg blockquote { border: 1px solid #fa0; border-left-width: 10px; padding: 1em 1em 0 1em; background: white;}
#logmsg dl { margin: 0; }
#logmsg dt { font-weight: bold; }
#logmsg dd { margin: 0; padding: 0 0 0.5em 0; }
#logmsg dd:before { content:'\00bb';}
#logmsg table { border-spacing: 0px; border-collapse: collapse; border-top: 4px solid #fa0; border-bottom: 1px solid #fa0; background: #fff; }
#logmsg table th { text-align: left; font-weight: normal; padding: 0.2em 0.5em; border-top: 1px dotted #fa0; }
#logmsg table td { text-align: right; border-top: 1px dotted #fa0; padding: 0.2em 0.5em; }
#logmsg table thead th { text-align: center; border-bottom: 1px solid #fa0; }
#logmsg table th.Corner { text-align: left; }
#logmsg hr { border: none 0; border-top: 2px dashed #fa0; height: 1px; }
#header, #footer { color: #fff; background: #636; border: 1px #300 solid; padding: 6px; }
#patch { width: 100%; }
#patch h4 {font-family: verdana,arial,helvetica,sans-serif;font-size:10pt;padding:8px;background:#369;color:#fff;margin:0;}
#patch .propset h4, #patch .binary h4 {margin:0;}
#patch pre {padding:0;line-height:1.2em;margin:0;}
#patch .diff {width:100%;background:#eee;padding: 0 0 10px 0;overflow:auto;}
#patch .propset .diff, #patch .binary .diff  {padding:10px 0;}
#patch span {display:block;padding:0 10px;}
#patch .modfile, #patch .addfile, #patch .delfile, #patch .propset, #patch .binary, #patch .copfile {border:1px solid #ccc;margin:10px 0;}
#patch ins {background:#dfd;text-decoration:none;display:block;padding:0 10px;}
#patch del {background:#fdd;text-decoration:none;display:block;padding:0 10px;}
#patch .lines, .info {color:#888;background:#fff;}
--></style>
<div id="msg">
<dl class="meta" style="font-size: 105%">
<dt style="float: left; width: 6em; font-weight: bold">Revision</dt> <dd><a style="font-weight: bold" href="http://meta.trac.wordpress.org/changeset/6764">6764</a><script type="application/ld+json">{"@context":"http://schema.org","@type":"EmailMessage","description":"Review this Commit","action":{"@type":"ViewAction","url":"http://meta.trac.wordpress.org/changeset/6764","name":"Review Commit"}}</script></dd>
<dt style="float: left; width: 6em; font-weight: bold">Author</dt> <dd>iandunn</dd>
<dt style="float: left; width: 6em; font-weight: bold">Date</dt> <dd>2018-02-26 18:38:19 +0000 (Mon, 26 Feb 2018)</dd>
</dl>

<pre style='padding-left: 1em; margin: 2em 0; border-left: 2px solid #ccc; line-height: 1.25; font-size: 105%; font-family: sans-serif'>WordCamp Post Types: Apply coding standards.</pre>

<h3>Modified Paths</h3>
<ul>
<li><a href="#sitestrunkwordcamporgpublic_htmlwpcontentpluginswcposttypesincbackcompatphp">sites/trunk/wordcamp.org/public_html/wp-content/plugins/wc-post-types/inc/back-compat.php</a></li>
<li><a href="#sitestrunkwordcamporgpublic_htmlwpcontentpluginswcposttypesincrestapiphp">sites/trunk/wordcamp.org/public_html/wp-content/plugins/wc-post-types/inc/rest-api.php</a></li>
<li><a href="#sitestrunkwordcamporgpublic_htmlwpcontentpluginswcposttypesincwidgetsphp">sites/trunk/wordcamp.org/public_html/wp-content/plugins/wc-post-types/inc/widgets.php</a></li>
<li><a href="#sitestrunkwordcamporgpublic_htmlwpcontentpluginswcposttypesviewssponsorsmetaboxinvoicesponsorphp">sites/trunk/wordcamp.org/public_html/wp-content/plugins/wc-post-types/views/sponsors/metabox-invoice-sponsor.php</a></li>
<li><a href="#sitestrunkwordcamporgpublic_htmlwpcontentpluginswcposttypesviewssponsorsmetaboxsponsoragreementphp">sites/trunk/wordcamp.org/public_html/wp-content/plugins/wc-post-types/views/sponsors/metabox-sponsor-agreement.php</a></li>
<li><a href="#sitestrunkwordcamporgpublic_htmlwpcontentpluginswcposttypesviewssponsorsmetaboxsponsorinfophp">sites/trunk/wordcamp.org/public_html/wp-content/plugins/wc-post-types/views/sponsors/metabox-sponsor-info.php</a></li>
<li><a href="#sitestrunkwordcamporgpublic_htmlwpcontentpluginswcposttypeswcposttypesphp">sites/trunk/wordcamp.org/public_html/wp-content/plugins/wc-post-types/wc-post-types.php</a></li>
</ul>

</div>
<div id="patch">
<h3>Diff</h3>
<a id="sitestrunkwordcamporgpublic_htmlwpcontentpluginswcposttypesincbackcompatphp"></a>
<div class="modfile"><h4 style="background-color: #eee; color: inherit; margin: 1em 0; padding: 1.3em; font-size: 115%">Modified: sites/trunk/wordcamp.org/public_html/wp-content/plugins/wc-post-types/inc/back-compat.php</h4>
<pre class="diff"><span>
<span class="info" style="display: block; padding: 0 10px; color: #888">--- sites/trunk/wordcamp.org/public_html/wp-content/plugins/wc-post-types/inc/back-compat.php 2018-02-26 12:45:25 UTC (rev 6763)
+++ sites/trunk/wordcamp.org/public_html/wp-content/plugins/wc-post-types/inc/back-compat.php   2018-02-26 18:38:19 UTC (rev 6764)
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -17,7 +17,7 @@
</span><span class="cx" style="display: block; padding: 0 10px">                );
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">                $this->stylesheet = wp_get_theme()->get_stylesheet();
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                $this->template = wp_get_theme()->get_template();
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+         $this->template   = wp_get_theme()->get_template();
</ins><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">                // Initialize only if theme requires.
</span><span class="cx" style="display: block; padding: 0 10px">                if ( in_array( $this->stylesheet, $compat_themes ) || in_array( $this->template, $compat_themes ) ) {
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -70,21 +70,23 @@
</span><span class="cx" style="display: block; padding: 0 10px">                global $post;
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">                $speakers = new WP_Query( array(
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                        'post_type' => 'wcb_speaker',
-                       'orderby' => 'title',
-                       'order' => 'ASC',
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                 'post_type'      => 'wcb_speaker',
+                       'orderby'        => 'title',
+                       'order'          => 'ASC',
</ins><span class="cx" style="display: block; padding: 0 10px">                         'posts_per_page' => -1,
</span><span class="cx" style="display: block; padding: 0 10px">                ) );
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                if ( ! $speakers->have_posts() )
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+         if ( ! $speakers->have_posts() ) {
</ins><span class="cx" style="display: block; padding: 0 10px">                         return '';
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                }
</ins><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">                ob_start();
</span><span class="cx" style="display: block; padding: 0 10px">                ?>
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">                <div class="cpt-loop speaker-gravatar-list clearfix">
</span><span class="cx" style="display: block; padding: 0 10px">                        <p>
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                        <?php while ( $speakers->have_posts() ) : $speakers->the_post(); ?>
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                 <?php while ( $speakers->have_posts() ) :
+                               $speakers->the_post(); ?>
</ins><span class="cx" style="display: block; padding: 0 10px">                         <?php
</span><span class="cx" style="display: block; padding: 0 10px">                                $href  = '#' . esc_attr( $post->post_name );
</span><span class="cx" style="display: block; padding: 0 10px">                                $title = esc_attr( get_the_title() );
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -94,22 +96,25 @@
</span><span class="cx" style="display: block; padding: 0 10px">                        ?>
</span><span class="cx" style="display: block; padding: 0 10px">                        <?php endwhile; ?>
</span><span class="cx" style="display: block; padding: 0 10px">                        </p>
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                </div><!-- .cpt-loop -->
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+         </div>
</ins><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">                <?php $speakers->rewind_posts(); ?>
</span><span class="cx" style="display: block; padding: 0 10px">                <?php $half_id = $this->wcb_optimal_column_split( $speakers, 200, 200 ); ?>
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">                <div class="cpt-loop speakers">
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-
</del><span class="cx" style="display: block; padding: 0 10px">                         <div class="grid_6 alpha">
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                                <?php while ( $speakers->have_posts() ) : $speakers->the_post(); ?>
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                         <?php while ( $speakers->have_posts() ) :
+                                       $speakers->the_post(); ?>
</ins><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">                                        <?php
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                                                if ( get_the_ID() == $half_id )
-                                                       echo '</div><div class="grid_6 omega">';
</del><span class="cx" style="display: block; padding: 0 10px"> 
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                                                $odd = ( ( $speakers->current_post + 1 ) % 2 ) ? 'odd' : 'even';
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                                 if ( get_the_ID() == $half_id ) {
+                                               echo '</div><div class="grid_6 omega">';
+                                       }
+
+                                       $odd = ( ( $speakers->current_post + 1 ) % 2 ) ? 'odd' : 'even';
+
</ins><span class="cx" style="display: block; padding: 0 10px">                                         ?>
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">                                        <div id="<?php echo esc_attr( $post->post_name ); ?>" <?php post_class( 'speaker clearfix ' . $odd ); ?> >
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -121,11 +126,11 @@
</span><span class="cx" style="display: block; padding: 0 10px">                                                ?>
</span><span class="cx" style="display: block; padding: 0 10px">                                                </div>
</span><span class="cx" style="display: block; padding: 0 10px">                                        </div>
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-
</del><span class="cx" style="display: block; padding: 0 10px">                                 <?php endwhile; ?>
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">                        </div>
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                </div><!-- .cpt-loop -->
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+         </div>
+
</ins><span class="cx" style="display: block; padding: 0 10px">                 <?php
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">                wp_reset_postdata();
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -142,40 +147,49 @@
</span><span class="cx" style="display: block; padding: 0 10px">                global $post;
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">                $sessions = new WP_Query( array(
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                        'post_type' => 'wcb_session',
-                       'orberby' => 'title',
-                       'order' => 'DESC',
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                 'post_type'      => 'wcb_session',
+                       'orberby'        => 'title',
+                       'order'          => 'DESC',
</ins><span class="cx" style="display: block; padding: 0 10px">                         'posts_per_page' => -1,
</span><span class="cx" style="display: block; padding: 0 10px">                ) );
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                if ( ! $sessions->have_posts() )
-                       return;
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+         if ( ! $sessions->have_posts() ) {
+                       return '';
+               }
</ins><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">                ob_start();
</span><span class="cx" style="display: block; padding: 0 10px">                ?>
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">                <div class="cpt-loop sessions">
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-
</del><span class="cx" style="display: block; padding: 0 10px">                         <?php $half_id = $this->wcb_optimal_column_split( $sessions, 200 ); ?>
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">                        <div class="grid_6 alpha">
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                                <?php while ( $sessions->have_posts() ) :
+                                       $sessions->the_post(); ?>
</ins><span class="cx" style="display: block; padding: 0 10px"> 
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                        <?php while ( $sessions->have_posts() ) : $sessions->the_post(); ?>
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                                 <?php
</ins><span class="cx" style="display: block; padding: 0 10px"> 
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                                <?php
</del><span class="cx" style="display: block; padding: 0 10px">                                         // Close the first column, open the second.
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                                        if ( get_the_ID() == $half_id )
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                                 if ( get_the_ID() == $half_id ) {
</ins><span class="cx" style="display: block; padding: 0 10px">                                                 echo '</div><div class="grid_6 omega">';
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                                        }
</ins><span class="cx" style="display: block; padding: 0 10px"> 
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                                        $odd = ( ( $sessions->current_post +1 ) % 2 ) ? 'odd' : 'even';
-                               ?>
-                               <div id="post-<?php the_ID(); ?>" <?php post_class( 'session ' . $odd ); ?> >
-                                       <h3 class="entry-title session-title"><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h3>
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                                 $odd = ( ( $sessions->current_post + 1 ) % 2 ) ? 'odd' : 'even';
</ins><span class="cx" style="display: block; padding: 0 10px"> 
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                                        <?php
-                                               $meta = array();
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                                 ?>
+
+                                       <div id="post-<?php the_ID(); ?>" <?php post_class( 'session ' . $odd ); ?> >
+                                               <h3 class="entry-title session-title">
+                                                       <a href="<?php the_permalink(); ?>">
+                                                               <?php the_title(); ?>
+                                                       </a>
+                                               </h3>
+
+                                               <?php
+
+                                               $meta     = array();
</ins><span class="cx" style="display: block; padding: 0 10px">                                                 $speakers = get_post_meta( get_the_ID(), '_wcb_session_speakers', true );
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                                                $track = get_the_terms( get_the_ID(), 'wcb_track' );
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                                         $track    = get_the_terms( get_the_ID(), 'wcb_track' );
</ins><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">                                                if ( empty( $track ) ) {
</span><span class="cx" style="display: block; padding: 0 10px">                                                        $track = '';
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -184,33 +198,38 @@
</span><span class="cx" style="display: block; padding: 0 10px">                                                        $track = $track[0]->name;
</span><span class="cx" style="display: block; padding: 0 10px">                                                }
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                                                if ( ! empty( $speakers ) )
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                                         if ( ! empty( $speakers ) ) {
</ins><span class="cx" style="display: block; padding: 0 10px">                                                         $meta['speakers'] = sprintf( __( 'Presented by %s', 'wordcamporg' ), esc_html( rtrim( $speakers, ',' ) ) );
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                                                }
</ins><span class="cx" style="display: block; padding: 0 10px"> 
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                                                if ( ! empty( $track ) )
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                                         if ( ! empty( $track ) ) {
</ins><span class="cx" style="display: block; padding: 0 10px">                                                         $meta['track'] = sprintf( __( '%s Track', 'wordcamporg' ), esc_html( $track ) );
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                                                }
</ins><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">                                                $track_url = get_term_link( $track, 'wcb_track' );
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                                                if ( ! is_wp_error( $track_url ) )
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+
+                                               if ( ! is_wp_error( $track_url ) ) {
</ins><span class="cx" style="display: block; padding: 0 10px">                                                         $meta['track'] = sprintf( '<a href="%s">%s</a>', esc_url( $track_url ), $meta['track'] );
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                                                }
</ins><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">                                                // Output the meta
</span><span class="cx" style="display: block; padding: 0 10px">                                                if ( ! empty( $meta ) ) {
</span><span class="cx" style="display: block; padding: 0 10px">                                                        $meta = implode( ' <span class="meta-sep meta-sep-bull">&bull;</span> ', $meta );
</span><span class="cx" style="display: block; padding: 0 10px">                                                        printf( '<div class="entry-meta session-speakers session-meta">%s</div>', $meta );
</span><span class="cx" style="display: block; padding: 0 10px">                                                }
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                                        ?>
-                                       <div class="entry-content session-description">
-                                               <?php the_post_thumbnail(); ?>
-                                               <?php the_content(); ?>
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+
+                                               ?>
+
+                                               <div class="entry-content session-description">
+                                                       <?php the_post_thumbnail(); ?>
+                                                       <?php the_content(); ?>
+                                               </div>
</ins><span class="cx" style="display: block; padding: 0 10px">                                         </div>
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                                </div>
</del><span class="cx" style="display: block; padding: 0 10px"> 
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                        <?php endwhile; ?>
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                         <?php endwhile; ?>
+                       </div>
+               </div>
</ins><span class="cx" style="display: block; padding: 0 10px"> 
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                        </div><!-- .grid_6 -->
-               </div><!-- .cpt-loop -->
-
</del><span class="cx" style="display: block; padding: 0 10px">                 <?php
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">                wp_reset_postdata();
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -230,38 +249,51 @@
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">                ob_start();
</span><span class="cx" style="display: block; padding: 0 10px">                ?>
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+
</ins><span class="cx" style="display: block; padding: 0 10px">                 <div class="sponsors">
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                <?php foreach ( $terms as $term ) : ?>
-                       <?php
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                 <?php foreach ( $terms as $term ) : ?>
+                               <?php
+
</ins><span class="cx" style="display: block; padding: 0 10px">                                 $sponsors = new WP_Query( array(
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                                        'post_type' => 'wcb_sponsor',
-                                       'order' => 'ASC',
-                                       'posts_per_page' => -1,
-                                       'taxonomy' => $term->taxonomy,
-                                       'term' => $term->slug,
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                                 'post_type'      => 'wcb_sponsor',
+                                       'order'          => 'ASC',
+                                       'posts_per_page' => - 1,
+                                       'taxonomy'       => $term->taxonomy,
+                                       'term'           => $term->slug,
</ins><span class="cx" style="display: block; padding: 0 10px">                                 ) );
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                                if ( ! $sponsors->have_posts() )
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                         if ( ! $sponsors->have_posts() ) {
</ins><span class="cx" style="display: block; padding: 0 10px">                                         continue;
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                        ?>
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                         }
</ins><span class="cx" style="display: block; padding: 0 10px"> 
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                        <div class="sponsor-level <?php echo $term->slug; ?>">
-                               <h2 class="sponsor-level-title"><?php echo esc_html( $term->name ); ?></h2>
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                         ?>
</ins><span class="cx" style="display: block; padding: 0 10px"> 
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                                <?php while ( $sponsors->have_posts() ) : $sponsors->the_post(); ?>
-                               <div id="post-<?php the_ID(); ?>" <?php post_class( 'sponsor' ); ?> >
-                                       <h3 class="entry-title sponsor-title"><a href="<?php the_permalink(); ?>">
-                                               <?php ( has_post_thumbnail() ) ? the_post_thumbnail() : the_title(); ?>
-                                       </a></h3>
-                                       <div class="entry-content sponsor-description">
-                                               <?php the_content(); ?>
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                         <div class="sponsor-level <?php echo $term->slug; ?>">
+                                       <h2 class="sponsor-level-title">
+                                               <?php echo esc_html( $term->name ); ?>
+                                       </h2>
+
+                                       <?php while ( $sponsors->have_posts() ) :
+                                               $sponsors->the_post(); ?>
+
+                                       <div id="post-<?php the_ID(); ?>" <?php post_class( 'sponsor' ); ?> >
+                                               <h3 class="entry-title sponsor-title">
+                                                       <a href="<?php the_permalink(); ?>">
+                                                               <?php ( has_post_thumbnail() ) ? the_post_thumbnail() : the_title(); ?>
+                                                       </a>
+                                               </h3>
+
+                                               <div class="entry-content sponsor-description">
+                                                       <?php the_content(); ?>
+                                               </div>
</ins><span class="cx" style="display: block; padding: 0 10px">                                         </div>
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                                </div><!-- #post -->
-                               <?php endwhile; ?>
</del><span class="cx" style="display: block; padding: 0 10px"> 
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                        </div><!-- .sponsor-level -->
-               <?php endforeach; ?>
-               </div><!-- .sponsors -->
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                                 <?php endwhile; ?>
+
+                               </div>
+                       <?php endforeach; ?>
+               </div>
+
</ins><span class="cx" style="display: block; padding: 0 10px">                 <?php
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">                wp_reset_postdata();
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -275,12 +307,14 @@
</span><span class="cx" style="display: block; padding: 0 10px">         * Splits the query into two columns based upon content length. Ported from base theme functions.
</span><span class="cx" style="display: block; padding: 0 10px">         *
</span><span class="cx" style="display: block; padding: 0 10px">         * @todo Move to compat
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+         *
</ins><span class="cx" style="display: block; padding: 0 10px">          * @param WP_Query $query
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-         * @param integer $post_cost A character cost attributed to rendering a post. Helps for approximations.
-        * @param integer $min_chars The minimum number of characters per post. Helps for approximations.
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+  * @param integer  $post_cost A character cost attributed to rendering a post. Helps for approximations.
+        * @param integer  $min_chars The minimum number of characters per post. Helps for approximations.
+        *
</ins><span class="cx" style="display: block; padding: 0 10px">          * @return Object The starting post ID of the second column.
</span><span class="cx" style="display: block; padding: 0 10px">         */
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-        public function wcb_optimal_column_split( $query, $post_cost=0, $min_chars=0 ) {
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ public function wcb_optimal_column_split( $query, $post_cost = 0, $min_chars = 0 ) {
</ins><span class="cx" style="display: block; padding: 0 10px">                 $query->rewind_posts();
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">                $total  = 0;
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -289,7 +323,7 @@
</span><span class="cx" style="display: block; padding: 0 10px">                while ( $query->have_posts() ) {
</span><span class="cx" style="display: block; padding: 0 10px">                        $post     = $query->next_post();
</span><span class="cx" style="display: block; padding: 0 10px">                        $length   = strlen( $post->post_content );
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                        $total   += ( $length < $min_chars) ? $min_chars : $length;
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                 $total   += ( $length < $min_chars ) ? $min_chars : $length;
</ins><span class="cx" style="display: block; padding: 0 10px">                         $total   += $post_cost;
</span><span class="cx" style="display: block; padding: 0 10px">                        $totals[] = array( $total, $post->ID );
</span><span class="cx" style="display: block; padding: 0 10px">                }
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -312,11 +346,12 @@
</span><span class="cx" style="display: block; padding: 0 10px">         * A filter for base theme's wcb_entry_meta.
</span><span class="cx" style="display: block; padding: 0 10px">         */
</span><span class="cx" style="display: block; padding: 0 10px">        function wcb_session_entry_meta( $meta ) {
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                if ( get_post_type() != 'wcb_session' )
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+         if ( get_post_type() != 'wcb_session' ) {
</ins><span class="cx" style="display: block; padding: 0 10px">                         return $meta;
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                }
</ins><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">                $speakers = get_post_meta( get_the_ID(), '_wcb_session_speakers', true );
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                $track = get_the_terms( get_the_ID(), 'wcb_track' );
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+         $track    = get_the_terms( get_the_ID(), 'wcb_track' );
</ins><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">                if ( empty( $track ) ) {
</span><span class="cx" style="display: block; padding: 0 10px">                        $track = '';
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -325,20 +360,24 @@
</span><span class="cx" style="display: block; padding: 0 10px">                        $track = $track[0]->name;
</span><span class="cx" style="display: block; padding: 0 10px">                }
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                if ( ! empty( $speakers ) )
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+         if ( ! empty( $speakers ) ) {
</ins><span class="cx" style="display: block; padding: 0 10px">                         $meta['speakers'] = sprintf( __( 'Presented by %s', 'wordcamporg' ), esc_html( $speakers ) );
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                }
</ins><span class="cx" style="display: block; padding: 0 10px"> 
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                if ( ! empty( $track ) )
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+         if ( ! empty( $track ) ) {
</ins><span class="cx" style="display: block; padding: 0 10px">                         $meta['track'] = sprintf( __( '%s Track', 'wordcamporg' ), esc_html( $track ) );
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                }
</ins><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">                $track_url = get_term_link( $track, 'wcb_track' );
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                if ( ! is_wp_error( $track_url ) )
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+         if ( ! is_wp_error( $track_url ) ) {
</ins><span class="cx" style="display: block; padding: 0 10px">                         $meta['track'] = sprintf( '<a href="%s">%s</a>', esc_url( $track_url ), $meta['track'] );
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                }
</ins><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">                $order = array();
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                if ( ! empty( $meta['speakers'] ) )
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+         if ( ! empty( $meta['speakers'] ) ) {
</ins><span class="cx" style="display: block; padding: 0 10px">                         $order[] = 'speakers';
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                }
</ins><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">                if ( ! empty( $meta['track'] ) ) {
</span><span class="cx" style="display: block; padding: 0 10px">                        $order[] = 'sep';
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -352,4 +391,4 @@
</span><span class="cx" style="display: block; padding: 0 10px">                return $meta;
</span><span class="cx" style="display: block; padding: 0 10px">        }
</span><span class="cx" style="display: block; padding: 0 10px"> }
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-new WordCamp_Post_Types_Plugin_Back_Compat;
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+new WordCamp_Post_Types_Plugin_Back_Compat();
</ins></span></pre></div>
<a id="sitestrunkwordcamporgpublic_htmlwpcontentpluginswcposttypesincrestapiphp"></a>
<div class="modfile"><h4 style="background-color: #eee; color: inherit; margin: 1em 0; padding: 1.3em; font-size: 115%">Modified: sites/trunk/wordcamp.org/public_html/wp-content/plugins/wc-post-types/inc/rest-api.php</h4>
<pre class="diff"><span>
<span class="info" style="display: block; padding: 0 10px; color: #888">--- sites/trunk/wordcamp.org/public_html/wp-content/plugins/wc-post-types/inc/rest-api.php    2018-02-26 12:45:25 UTC (rev 6763)
+++ sites/trunk/wordcamp.org/public_html/wp-content/plugins/wc-post-types/inc/rest-api.php      2018-02-26 18:38:19 UTC (rev 6764)
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -71,7 +71,7 @@
</span><span class="cx" style="display: block; padding: 0 10px">         */
</span><span class="cx" style="display: block; padding: 0 10px">        if ( get_option( 'show_avatars' ) ) {
</span><span class="cx" style="display: block; padding: 0 10px">                $avatar_properties = array();
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                $avatar_sizes = rest_get_avatar_sizes();
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+         $avatar_sizes      = rest_get_avatar_sizes();
</ins><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">                foreach ( $avatar_sizes as $size ) {
</span><span class="cx" style="display: block; padding: 0 10px">                        $avatar_properties[ $size ] = array(
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -126,7 +126,7 @@
</span><span class="cx" style="display: block; padding: 0 10px">  *
</span><span class="cx" style="display: block; padding: 0 10px">  * @return void
</span><span class="cx" style="display: block; padding: 0 10px">  */
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-function register_fav_sessions_email(){
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+function register_fav_sessions_email() {
</ins><span class="cx" style="display: block; padding: 0 10px">         register_rest_route(
</span><span class="cx" style="display: block; padding: 0 10px">                'wc-post-types/v1',     // REST namespace + API version
</span><span class="cx" style="display: block; padding: 0 10px">                '/email-fav-sessions/', // URL slug
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -135,7 +135,7 @@
</span><span class="cx" style="display: block; padding: 0 10px">                        'callback' => 'send_favourite_sessions_email',
</span><span class="cx" style="display: block; padding: 0 10px">                        'args'     => array(
</span><span class="cx" style="display: block; padding: 0 10px">                                'email-address' => array(
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                                        'required' => true,
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                                 'required'          => true,
</ins><span class="cx" style="display: block; padding: 0 10px">                                         'validate_callback' => function( $value, $request, $param ) {
</span><span class="cx" style="display: block; padding: 0 10px">                                                return is_email( $value );
</span><span class="cx" style="display: block; padding: 0 10px">                                        },
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -145,7 +145,7 @@
</span><span class="cx" style="display: block; padding: 0 10px">                                ),
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">                                'session-list' => array(
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                                        'required' => true,
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                                 'required'          => true,
</ins><span class="cx" style="display: block; padding: 0 10px">                                         'validate_callback' => function( $value, $request, $param ) {
</span><span class="cx" style="display: block; padding: 0 10px">                                                $session_ids = explode( ',', $value );
</span><span class="cx" style="display: block; padding: 0 10px">                                                $session_count = count( $session_ids );
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -161,7 +161,7 @@
</span><span class="cx" style="display: block; padding: 0 10px">                                                return implode( ',', array_filter( $session_ids, 'is_numeric' ) );
</span><span class="cx" style="display: block; padding: 0 10px">                                        },
</span><span class="cx" style="display: block; padding: 0 10px">                                ),
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                        )
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                 ),
</ins><span class="cx" style="display: block; padding: 0 10px">                 )
</span><span class="cx" style="display: block; padding: 0 10px">        );
</span><span class="cx" style="display: block; padding: 0 10px"> }
</span></span></pre></div>
<a id="sitestrunkwordcamporgpublic_htmlwpcontentpluginswcposttypesincwidgetsphp"></a>
<div class="modfile"><h4 style="background-color: #eee; color: inherit; margin: 1em 0; padding: 1.3em; font-size: 115%">Modified: sites/trunk/wordcamp.org/public_html/wp-content/plugins/wc-post-types/inc/widgets.php</h4>
<pre class="diff"><span>
<span class="info" style="display: block; padding: 0 10px; color: #888">--- sites/trunk/wordcamp.org/public_html/wp-content/plugins/wc-post-types/inc/widgets.php     2018-02-26 12:45:25 UTC (rev 6763)
+++ sites/trunk/wordcamp.org/public_html/wp-content/plugins/wc-post-types/inc/widgets.php       2018-02-26 18:38:19 UTC (rev 6764)
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -3,17 +3,15 @@
</span><span class="cx" style="display: block; padding: 0 10px">  * WordCamp.org Post Types Widgets
</span><span class="cx" style="display: block; padding: 0 10px">  */
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-if ( ! class_exists( 'WCB_Widget_Sponsors' ) ) :
</del><span class="cx" style="display: block; padding: 0 10px"> /**
</span><span class="cx" style="display: block; padding: 0 10px">  * Sponsors widget class.
</span><span class="cx" style="display: block; padding: 0 10px">  *
</span><span class="cx" style="display: block; padding: 0 10px">  * @see WordCamp_Post_Types_Plugin::register_widgets()
</span><span class="cx" style="display: block; padding: 0 10px">  */
</span><span class="cx" style="display: block; padding: 0 10px"> class WCB_Widget_Sponsors extends WP_Widget {
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-
</del><span class="cx" style="display: block; padding: 0 10px">         function __construct() {
</span><span class="cx" style="display: block; padding: 0 10px">                $widget_ops = array(
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                        'classname' => 'wcb_widget_sponsors',
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                 'classname'   => 'wcb_widget_sponsors',
</ins><span class="cx" style="display: block; padding: 0 10px">                         'description' => __( 'Your WordCamp&#8217;s Sponsors', 'wordcamporg' ),
</span><span class="cx" style="display: block; padding: 0 10px">                );
</span><span class="cx" style="display: block; padding: 0 10px">                WP_Widget::__construct( 'wcb_sponsors', __( 'Sponsors', 'wordcamporg' ), $widget_ops );
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -27,8 +25,10 @@
</span><span class="cx" style="display: block; padding: 0 10px">                $title = apply_filters( 'widget_title', $instance['title'], $instance, $this->id_base );
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">                echo $before_widget;
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                if ( $title )
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+
+               if ( $title ) {
</ins><span class="cx" style="display: block; padding: 0 10px">                         echo $before_title . $title . $after_title;
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                }
</ins><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">                // Fetch sponsor levels
</span><span class="cx" style="display: block; padding: 0 10px">                $terms = $wcpt_plugin->get_sponsor_levels();
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -52,22 +52,26 @@
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">                <?php foreach ( $terms as $term ) : ?>
</span><span class="cx" style="display: block; padding: 0 10px">                        <?php
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                                $sponsors = new WP_Query( array(
-                                       'post_type' => 'wcb_sponsor',
-                                       'posts_per_page' => -1,
-                                       'order' => 'ASC',
-                                       'taxonomy' => $term->taxonomy,
-                                       'term' => $term->slug,
-                               ) );
</del><span class="cx" style="display: block; padding: 0 10px"> 
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                                if ( ! $sponsors->have_posts() )
-                                       continue;
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                 $sponsors = new WP_Query( array(
+                               'post_type'      => 'wcb_sponsor',
+                               'posts_per_page' => -1,
+                               'order'          => 'ASC',
+                               'taxonomy'       => $term->taxonomy,
+                               'term'           => $term->slug,
+                       ) );
+
+                       if ( ! $sponsors->have_posts() ) {
+                               continue;
+                       }
+
</ins><span class="cx" style="display: block; padding: 0 10px">                         ?>
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">                        <div class="sponsor-level <?php echo $term->slug; ?>">
</span><span class="cx" style="display: block; padding: 0 10px">                                <h4 class="sponsor-level-title"><?php echo esc_html( $term->name ); ?></h4>
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                                <?php while ( $sponsors->have_posts() ) : $sponsors->the_post(); ?>
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                         <?php while ( $sponsors->have_posts() ) :
+                                       $sponsors->the_post(); ?>
</ins><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">                                        <a class="sponsor-logo" href="<?php the_permalink(); ?>">
</span><span class="cx" style="display: block; padding: 0 10px">                                                <?php ( has_post_thumbnail() ) ? the_post_thumbnail( 'wcb-sponsor-logo-horizontal-2x' ) : the_title(); ?>
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -85,20 +89,19 @@
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">        function form( $instance ) {
</span><span class="cx" style="display: block; padding: 0 10px">                $instance = wp_parse_args( (array) $instance, array( 'title' => '' ) );
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                $title = $instance['title'];
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+         $title    = $instance['title'];
</ins><span class="cx" style="display: block; padding: 0 10px">                 ?>
</span><span class="cx" style="display: block; padding: 0 10px">                <p><label for="<?php echo $this->get_field_id( 'title' ); ?>"><?php _e( 'Title:', 'wordcamporg' ); ?> <input class="widefat" id="<?php echo $this->get_field_id( 'title' ); ?>" name="<?php echo $this->get_field_name( 'title' ); ?>" type="text" value="<?php echo esc_attr( $title ); ?>" /></label></p>
</span><span class="cx" style="display: block; padding: 0 10px">                <?php
</span><span class="cx" style="display: block; padding: 0 10px">        }
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">        function update( $new_instance, $old_instance ) {
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                $instance = $old_instance;
-               $new_instance = wp_parse_args( (array) $new_instance, array( 'title' => '' ) );
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+         $instance          = $old_instance;
+               $new_instance      = wp_parse_args( (array) $new_instance, array( 'title' => '' ) );
</ins><span class="cx" style="display: block; padding: 0 10px">                 $instance['title'] = strip_tags( $new_instance['title'] );
</span><span class="cx" style="display: block; padding: 0 10px">                return $instance;
</span><span class="cx" style="display: block; padding: 0 10px">        }
</span><span class="cx" style="display: block; padding: 0 10px"> }
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-endif; // class_exists
</del><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px"> /**
</span><span class="cx" style="display: block; padding: 0 10px">  * Speakers widget class.
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -110,12 +113,11 @@
</span><span class="cx" style="display: block; padding: 0 10px">  * @see WordCamp_Post_Types_Plugin->shortcode_speakers()
</span><span class="cx" style="display: block; padding: 0 10px">  */
</span><span class="cx" style="display: block; padding: 0 10px"> class WCPT_Widget_Speakers extends WP_Widget {
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-
</del><span class="cx" style="display: block; padding: 0 10px">         protected $cache_time = 3600; // seconds
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">        function __construct() {
</span><span class="cx" style="display: block; padding: 0 10px">                $widget_ops = array(
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                        'classname' => 'wcpt_widget_speakers',
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                 'classname'   => 'wcpt_widget_speakers',
</ins><span class="cx" style="display: block; padding: 0 10px">                         'description' => __( 'Your WordCamp&#8217;s Speakers', 'wordcamporg' ),
</span><span class="cx" style="display: block; padding: 0 10px">                );
</span><span class="cx" style="display: block; padding: 0 10px">                WP_Widget::__construct( 'wcpt_speakers', __( 'Speakers', 'wordcamporg' ), $widget_ops );
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -125,26 +127,30 @@
</span><span class="cx" style="display: block; padding: 0 10px">                /** @var $wcpt_plugin WordCamp_Post_Types_Plugin */
</span><span class="cx" style="display: block; padding: 0 10px">                global $wcpt_plugin;
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                $transient_key = 'wcpt-' . md5( $args['widget_id'] );
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+         $transient_key     = 'wcpt-' . md5( $args['widget_id'] );
</ins><span class="cx" style="display: block; padding: 0 10px">                 $instance['title'] = apply_filters( 'widget_title', $instance['title'], $instance, $this->id_base );
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">                echo $args['before_widget'];
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                if ( $instance['title'] )
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+         if ( $instance['title'] ) {
</ins><span class="cx" style="display: block; padding: 0 10px">                         echo $args['before_title'] . $instance['title'] . $args['after_title'];
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                }
</ins><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">                if ( false === ( $widget_content = get_transient( $transient_key ) ) ) {
</span><span class="cx" style="display: block; padding: 0 10px">                        // Shortcode attributes
</span><span class="cx" style="display: block; padding: 0 10px">                        $attr = array();
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                        if ( $instance['count'] )
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                 if ( $instance['count'] ) {
</ins><span class="cx" style="display: block; padding: 0 10px">                                 $attr['posts_per_page'] = $instance['count'];
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                        }
</ins><span class="cx" style="display: block; padding: 0 10px"> 
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                        if ( $instance['random'] )
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                 if ( $instance['random'] ) {
</ins><span class="cx" style="display: block; padding: 0 10px">                                 $attr['orderby'] = 'rand';
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                        }
</ins><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">                        $attr_str = array();
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                        foreach ( $attr as $key => $value )
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                 foreach ( $attr as $key => $value ) {
</ins><span class="cx" style="display: block; padding: 0 10px">                                 $attr_str[ $key ] = sprintf( '%s="%s"', $key, esc_attr( $value ) );
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                        }
</ins><span class="cx" style="display: block; padding: 0 10px">                         $attr_str = implode( ' ', $attr_str );
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">                        // Run and store cached version.
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -155,8 +161,9 @@
</span><span class="cx" style="display: block; padding: 0 10px">                echo $widget_content;
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">                $speakers_permalink = $wcpt_plugin->get_wcpt_permalink( 'speakers' );
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                if ( ! empty( $speakers_permalink ) )
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+         if ( ! empty( $speakers_permalink ) ) {
</ins><span class="cx" style="display: block; padding: 0 10px">                         printf( '<a class="wcpt-speakers-link" href="%s">%s</a>', esc_url( $speakers_permalink ), esc_html( __( 'View all speakers &rarr;', 'wordcamporg' ) ) );
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                }
</ins><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">                echo $args['after_widget'];
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -164,16 +171,21 @@
</span><span class="cx" style="display: block; padding: 0 10px">        }
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">        function form( $instance ) {
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                $instance = wp_parse_args( (array) $instance, array(
-                       'title' => '',
-                       'count' => 3,
-                       'random' => false,
-               ) );
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+         $instance = wp_parse_args(
+                       (array) $instance,
+                       array(
+                               'title'  => '',
+                               'count'  => 3,
+                               'random' => false,
+                       )
+               );
</ins><span class="cx" style="display: block; padding: 0 10px"> 
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                $title = $instance['title'];
-               $count = absint( $instance['count'] );
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+         $title  = $instance['title'];
+               $count  = absint( $instance['count'] );
</ins><span class="cx" style="display: block; padding: 0 10px">                 $random = (bool) $instance['random'];
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+
</ins><span class="cx" style="display: block; padding: 0 10px">                 ?>
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+
</ins><span class="cx" style="display: block; padding: 0 10px">                 <p><label for="<?php echo $this->get_field_id( 'title' ); ?>"><?php _e( 'Title:', 'wordcamporg' ); ?> <input class="widefat" id="<?php echo $this->get_field_id( 'title' ); ?>" name="<?php echo $this->get_field_name( 'title' ); ?>" type="text" value="<?php echo esc_attr( $title ); ?>" /></label></p>
</span><span class="cx" style="display: block; padding: 0 10px">                <p><label for="<?php echo $this->get_field_id( 'count' ); ?>"><?php _e( 'Number of speakers to show:', 'wordcamporg' ); ?> <input type="text" size="3" id="<?php echo $this->get_field_id( 'count' ); ?>" name="<?php echo $this->get_field_name( 'count' ); ?>" value="<?php echo esc_attr( $count ); ?>" /></label></p>
</span><span class="cx" style="display: block; padding: 0 10px">                <p>
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -185,15 +197,18 @@
</span><span class="cx" style="display: block; padding: 0 10px">        }
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">        function update( $new_instance, $old_instance ) {
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                $instance = $old_instance;
-               $new_instance = wp_parse_args( (array) $new_instance, array(
-                       'title' => '',
-                       'count' => 3,
-                       'random' => false,
-               ) );
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+         $instance     = $old_instance;
+               $new_instance = wp_parse_args(
+                       (array) $new_instance,
+                       array(
+                               'title'  => '',
+                               'count'  => 3,
+                               'random' => false,
+                       )
+               );
</ins><span class="cx" style="display: block; padding: 0 10px"> 
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                $instance['title'] = strip_tags( $new_instance['title'] );
-               $instance['count'] = absint( $new_instance['count'] );
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+         $instance['title']  = strip_tags( $new_instance['title'] );
+               $instance['count']  = absint( $new_instance['count'] );
</ins><span class="cx" style="display: block; padding: 0 10px">                 $instance['random'] = (bool) $new_instance['random'];
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">                // Clear transient cache
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -212,12 +227,11 @@
</span><span class="cx" style="display: block; padding: 0 10px">  * @see WordCamp_Post_Types_Plugin->shortcode_sessions()
</span><span class="cx" style="display: block; padding: 0 10px">  */
</span><span class="cx" style="display: block; padding: 0 10px"> class WCPT_Widget_Sessions extends WP_Widget {
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-
</del><span class="cx" style="display: block; padding: 0 10px">         protected $cache_time = 3600; // seconds
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">        function __construct() {
</span><span class="cx" style="display: block; padding: 0 10px">                $widget_ops = array(
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                        'classname' => 'wcpt_widget_sessions',
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                 'classname'   => 'wcpt_widget_sessions',
</ins><span class="cx" style="display: block; padding: 0 10px">                         'description' => __( 'Show off your WordCamp sessions', 'wordcamporg' ),
</span><span class="cx" style="display: block; padding: 0 10px">                );
</span><span class="cx" style="display: block; padding: 0 10px">                WP_Widget::__construct( 'wcpt_sessions', __( 'Sessions', 'wordcamporg' ), $widget_ops );
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -227,30 +241,34 @@
</span><span class="cx" style="display: block; padding: 0 10px">                /** @var $wcpt_plugin WordCamp_Post_Types_Plugin */
</span><span class="cx" style="display: block; padding: 0 10px">                global $wcpt_plugin;
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                $transient_key = 'wcpt-' . md5( $args['widget_id'] );
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+         $transient_key     = 'wcpt-' . md5( $args['widget_id'] );
</ins><span class="cx" style="display: block; padding: 0 10px">                 $instance['title'] = apply_filters( 'widget_title', $instance['title'], $instance, $this->id_base );
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">                echo $args['before_widget'];
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                if ( $instance['title'] )
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+         if ( $instance['title'] ) {
</ins><span class="cx" style="display: block; padding: 0 10px">                         echo $args['before_title'] . $instance['title'] . $args['after_title'];
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                }
</ins><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">                if ( false === ( $widget_content = get_transient( $transient_key ) ) ) {
</span><span class="cx" style="display: block; padding: 0 10px">                        // Shortcode attributes
</span><span class="cx" style="display: block; padding: 0 10px">                        $attr = array(
</span><span class="cx" style="display: block; padding: 0 10px">                                'show_avatars' => 'true',
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                                'show_meta' => 'true',
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                         'show_meta'    => 'true',
</ins><span class="cx" style="display: block; padding: 0 10px">                                 'speaker_link' => 'anchor',
</span><span class="cx" style="display: block; padding: 0 10px">                        );
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                        if ( $instance['count'] )
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                 if ( $instance['count'] ) {
</ins><span class="cx" style="display: block; padding: 0 10px">                                 $attr['posts_per_page'] = $instance['count'];
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                        }
</ins><span class="cx" style="display: block; padding: 0 10px"> 
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                        if ( $instance['random'] )
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                 if ( $instance['random'] ) {
</ins><span class="cx" style="display: block; padding: 0 10px">                                 $attr['orderby'] = 'rand';
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                        }
</ins><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">                        $attr_str = array();
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                        foreach ( $attr as $key => $value )
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                 foreach ( $attr as $key => $value ) {
</ins><span class="cx" style="display: block; padding: 0 10px">                                 $attr_str[ $key ] = sprintf( '%s="%s"', $key, esc_attr( $value ) );
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                        }
</ins><span class="cx" style="display: block; padding: 0 10px">                         $attr_str = implode( ' ', $attr_str );
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">                        // Run and store cached version.
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -261,8 +279,9 @@
</span><span class="cx" style="display: block; padding: 0 10px">                echo $widget_content;
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">                $sessions_permalink = $wcpt_plugin->get_wcpt_permalink( 'sessions' );
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                if ( ! empty( $sessions_permalink ) )
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+         if ( ! empty( $sessions_permalink ) ) {
</ins><span class="cx" style="display: block; padding: 0 10px">                         printf( '<a class="wcpt-sessions-link" href="%s">%s</a>', esc_url( $sessions_permalink ), esc_html( __( 'View all sessions &rarr;', 'wordcamporg' ) ) );
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                }
</ins><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">                echo $args['after_widget'];
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -270,16 +289,21 @@
</span><span class="cx" style="display: block; padding: 0 10px">        }
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">        function form( $instance ) {
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                $instance = wp_parse_args( (array) $instance, array(
-                       'title' => '',
-                       'count' => 3,
-                       'random' => false,
-               ) );
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+         $instance = wp_parse_args(
+                       (array) $instance,
+                       array(
+                               'title'  => '',
+                               'count'  => 3,
+                               'random' => false,
+                       )
+               );
</ins><span class="cx" style="display: block; padding: 0 10px"> 
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                $title = $instance['title'];
-               $count = absint( $instance['count'] );
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+         $title  = $instance['title'];
+               $count  = absint( $instance['count'] );
</ins><span class="cx" style="display: block; padding: 0 10px">                 $random = (bool) $instance['random'];
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+
</ins><span class="cx" style="display: block; padding: 0 10px">                 ?>
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+
</ins><span class="cx" style="display: block; padding: 0 10px">                 <p><label for="<?php echo $this->get_field_id( 'title' ); ?>"><?php _e( 'Title:', 'wordcamporg' ); ?> <input class="widefat" id="<?php echo $this->get_field_id( 'title' ); ?>" name="<?php echo $this->get_field_name( 'title' ); ?>" type="text" value="<?php echo esc_attr( $title ); ?>" /></label></p>
</span><span class="cx" style="display: block; padding: 0 10px">                <p><label for="<?php echo $this->get_field_id( 'count' ); ?>"><?php _e( 'Number of speakers to show:', 'wordcamporg' ); ?> <input type="text" size="3" id="<?php echo $this->get_field_id( 'count' ); ?>" name="<?php echo $this->get_field_name( 'count' ); ?>" value="<?php echo esc_attr( $count ); ?>" /></label></p>
</span><span class="cx" style="display: block; padding: 0 10px">                <p>
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -291,15 +315,18 @@
</span><span class="cx" style="display: block; padding: 0 10px">        }
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">        function update( $new_instance, $old_instance ) {
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                $instance = $old_instance;
-               $new_instance = wp_parse_args( (array) $new_instance, array(
-                       'title' => '',
-                       'count' => 3,
-                       'random' => false,
-               ) );
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+         $instance     = $old_instance;
+               $new_instance = wp_parse_args(
+                       (array) $new_instance,
+                       array(
+                               'title'  => '',
+                               'count'  => 3,
+                               'random' => false,
+                       )
+               );
</ins><span class="cx" style="display: block; padding: 0 10px"> 
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                $instance['title'] = strip_tags( $new_instance['title'] );
-               $instance['count'] = absint( $new_instance['count'] );
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+         $instance['title']  = strip_tags( $new_instance['title'] );
+               $instance['count']  = absint( $new_instance['count'] );
</ins><span class="cx" style="display: block; padding: 0 10px">                 $instance['random'] = (bool) $new_instance['random'];
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">                // Clear transient cache
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -322,7 +349,7 @@
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">        function __construct() {
</span><span class="cx" style="display: block; padding: 0 10px">                $widget_ops = array(
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                        'classname' => 'wcpt_widget_organizers',
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                 'classname'   => 'wcpt_widget_organizers',
</ins><span class="cx" style="display: block; padding: 0 10px">                         'description' => __( 'Display your organizing team in the sidebar', 'wordcamporg' ),
</span><span class="cx" style="display: block; padding: 0 10px">                );
</span><span class="cx" style="display: block; padding: 0 10px">                WP_Widget::__construct( 'wcpt_organizers', __( 'Organizers', 'wordcamporg' ), $widget_ops );
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -332,26 +359,30 @@
</span><span class="cx" style="display: block; padding: 0 10px">                /** @var $wcpt_plugin WordCamp_Post_Types_Plugin */
</span><span class="cx" style="display: block; padding: 0 10px">                global $wcpt_plugin;
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                $transient_key = 'wcpt-' . md5( $args['widget_id'] );
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+         $transient_key     = 'wcpt-' . md5( $args['widget_id'] );
</ins><span class="cx" style="display: block; padding: 0 10px">                 $instance['title'] = apply_filters( 'widget_title', $instance['title'], $instance, $this->id_base );
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">                echo $args['before_widget'];
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                if ( $instance['title'] )
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+         if ( $instance['title'] ) {
</ins><span class="cx" style="display: block; padding: 0 10px">                         echo $args['before_title'] . $instance['title'] . $args['after_title'];
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                }
</ins><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">                if ( false === ( $widget_content = get_transient( $transient_key ) ) ) {
</span><span class="cx" style="display: block; padding: 0 10px">                        // Shortcode attributes
</span><span class="cx" style="display: block; padding: 0 10px">                        $attr = array();
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                        if ( $instance['count'] )
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                 if ( $instance['count'] ) {
</ins><span class="cx" style="display: block; padding: 0 10px">                                 $attr['posts_per_page'] = $instance['count'];
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                        }
</ins><span class="cx" style="display: block; padding: 0 10px"> 
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                        if ( $instance['random'] )
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                 if ( $instance['random'] ) {
</ins><span class="cx" style="display: block; padding: 0 10px">                                 $attr['orderby'] = 'rand';
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                        }
</ins><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">                        $attr_str = array();
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                        foreach ( $attr as $key => $value )
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                 foreach ( $attr as $key => $value ) {
</ins><span class="cx" style="display: block; padding: 0 10px">                                 $attr_str[ $key ] = sprintf( '%s="%s"', $key, esc_attr( $value ) );
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                        }
</ins><span class="cx" style="display: block; padding: 0 10px">                         $attr_str = implode( ' ', $attr_str );
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">                        // Run and store cached version.
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -362,8 +393,9 @@
</span><span class="cx" style="display: block; padding: 0 10px">                echo $widget_content;
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">                $organizers_permalink = $wcpt_plugin->get_wcpt_permalink( 'organizers' );
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                if ( ! empty( $organizers_permalink ) )
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+         if ( ! empty( $organizers_permalink ) ) {
</ins><span class="cx" style="display: block; padding: 0 10px">                         printf( '<a class="wcpt-organizers-link" href="%s">%s</a>', esc_url( $organizers_permalink ), esc_html( __( 'Organizing team &rarr;', 'wordcamporg' ) ) );
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                }
</ins><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">                echo $args['after_widget'];
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -371,16 +403,21 @@
</span><span class="cx" style="display: block; padding: 0 10px">        }
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">        function form( $instance ) {
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                $instance = wp_parse_args( (array) $instance, array(
-                       'title' => '',
-                       'count' => 3,
-                       'random' => false,
-               ) );
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+         $instance = wp_parse_args(
+                       (array) $instance,
+                       array(
+                               'title'  => '',
+                               'count'  => 3,
+                               'random' => false,
+                       )
+               );
</ins><span class="cx" style="display: block; padding: 0 10px"> 
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                $title = $instance['title'];
-               $count = absint( $instance['count'] );
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+         $title  = $instance['title'];
+               $count  = absint( $instance['count'] );
</ins><span class="cx" style="display: block; padding: 0 10px">                 $random = (bool) $instance['random'];
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+
</ins><span class="cx" style="display: block; padding: 0 10px">                 ?>
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+
</ins><span class="cx" style="display: block; padding: 0 10px">                 <p><label for="<?php echo $this->get_field_id( 'title' ); ?>"><?php _e( 'Title:', 'wordcamporg' ); ?> <input class="widefat" id="<?php echo $this->get_field_id( 'title' ); ?>" name="<?php echo $this->get_field_name( 'title' ); ?>" type="text" value="<?php echo esc_attr( $title ); ?>" /></label></p>
</span><span class="cx" style="display: block; padding: 0 10px">                <p><label for="<?php echo $this->get_field_id( 'count' ); ?>"><?php _e( 'Number of organizers to show:', 'wordcamporg' ); ?> <input type="text" size="3" id="<?php echo $this->get_field_id( 'count' ); ?>" name="<?php echo $this->get_field_name( 'count' ); ?>" value="<?php echo esc_attr( $count ); ?>" /></label></p>
</span><span class="cx" style="display: block; padding: 0 10px">                <p>
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -392,20 +429,24 @@
</span><span class="cx" style="display: block; padding: 0 10px">        }
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">        function update( $new_instance, $old_instance ) {
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                $instance = $old_instance;
-               $new_instance = wp_parse_args( (array) $new_instance, array(
-                       'title' => '',
-                       'count' => 3,
-                       'random' => false,
-               ) );
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+         $instance     = $old_instance;
+               $new_instance = wp_parse_args(
+                       (array) $new_instance,
+                       array(
+                               'title'  => '',
+                               'count'  => 3,
+                               'random' => false,
+                       )
+               );
</ins><span class="cx" style="display: block; padding: 0 10px"> 
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                $instance['title'] = strip_tags( $new_instance['title'] );
-               $instance['count'] = absint( $new_instance['count'] );
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+         $instance['title']  = strip_tags( $new_instance['title'] );
+               $instance['count']  = absint( $new_instance['count'] );
</ins><span class="cx" style="display: block; padding: 0 10px">                 $instance['random'] = (bool) $new_instance['random'];
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">                // Clear transient cache
</span><span class="cx" style="display: block; padding: 0 10px">                $transient_key = 'wcpt-' . md5( $this->id );
</span><span class="cx" style="display: block; padding: 0 10px">                delete_transient( $transient_key );
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+
</ins><span class="cx" style="display: block; padding: 0 10px">                 return $instance;
</span><span class="cx" style="display: block; padding: 0 10px">        }
</span><span class="cx" style="display: block; padding: 0 10px"> }
</span></span></pre></div>
<a id="sitestrunkwordcamporgpublic_htmlwpcontentpluginswcposttypesviewssponsorsmetaboxinvoicesponsorphp"></a>
<div class="modfile"><h4 style="background-color: #eee; color: inherit; margin: 1em 0; padding: 1.3em; font-size: 115%">Modified: sites/trunk/wordcamp.org/public_html/wp-content/plugins/wc-post-types/views/sponsors/metabox-invoice-sponsor.php</h4>
<pre class="diff"><span>
<span class="info" style="display: block; padding: 0 10px; color: #888">--- sites/trunk/wordcamp.org/public_html/wp-content/plugins/wc-post-types/views/sponsors/metabox-invoice-sponsor.php  2018-02-26 12:45:25 UTC (rev 6763)
+++ sites/trunk/wordcamp.org/public_html/wp-content/plugins/wc-post-types/views/sponsors/metabox-invoice-sponsor.php    2018-02-26 18:38:19 UTC (rev 6764)
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -33,5 +33,4 @@
</span><span class="cx" style="display: block; padding: 0 10px">                <?php _e( 'Add New Invoice', 'wordcamporg' ); ?>
</span><span class="cx" style="display: block; padding: 0 10px">        </a>
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-<?php endif; ?>
-
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+<?php endif;
</ins></span></pre></div>
<a id="sitestrunkwordcamporgpublic_htmlwpcontentpluginswcposttypesviewssponsorsmetaboxsponsoragreementphp"></a>
<div class="modfile"><h4 style="background-color: #eee; color: inherit; margin: 1em 0; padding: 1.3em; font-size: 115%">Modified: sites/trunk/wordcamp.org/public_html/wp-content/plugins/wc-post-types/views/sponsors/metabox-sponsor-agreement.php</h4>
<pre class="diff"><span>
<span class="info" style="display: block; padding: 0 10px; color: #888">--- sites/trunk/wordcamp.org/public_html/wp-content/plugins/wc-post-types/views/sponsors/metabox-sponsor-agreement.php        2018-02-26 12:45:25 UTC (rev 6763)
+++ sites/trunk/wordcamp.org/public_html/wp-content/plugins/wc-post-types/views/sponsors/metabox-sponsor-agreement.php  2018-02-26 18:38:19 UTC (rev 6764)
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -1,7 +1,11 @@
</span><span class="cx" style="display: block; padding: 0 10px"> <?php
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-/* @var int $agreement_id */
-/* @var string $agreement_url */
-/* @var int $mes_id */
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+
+/**
+ * @var int    $agreement_id
+ * @var string $agreement_url
+ * @var int    $mes_id
+ */
+
</ins><span class="cx" style="display: block; padding: 0 10px"> ?>
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px"> <?php if ( $mes_id ) : ?>
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -10,7 +14,9 @@
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">        <?php if ( $agreement_url ) : ?>
</span><span class="cx" style="display: block; padding: 0 10px">                <p id="sponsor-agreement-view-container">
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                        <a id="sponsor-agreement-view" class="button secondary" href="<?php echo esc_url( $agreement_url ); ?>" target="sponsor-agreement"><?php esc_html_e( 'View Agreement', 'wordcamporg' ); ?></a>
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                 <a id="sponsor-agreement-view" class="button secondary" href="<?php echo esc_url( $agreement_url ); ?>" target="sponsor-agreement">
+                               <?php esc_html_e( 'View Agreement', 'wordcamporg' ); ?>
+                       </a>
</ins><span class="cx" style="display: block; padding: 0 10px">                 </p>
</span><span class="cx" style="display: block; padding: 0 10px">        <?php endif; ?>
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -18,29 +24,38 @@
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">        <p id="sponsor-agreement-description-container" class="description hidden">
</span><span class="cx" style="display: block; padding: 0 10px">                <?php
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+
</ins><span class="cx" style="display: block; padding: 0 10px">                 printf(
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                        wp_kses(
-                               __( '<strong>Instructions:</strong> You can generate an agreement for this sponsor <a href="%s">here</a>. Upload a PDF or image file of the signed, dated sponsor agreement.', 'wordcamporg' ),
-                               array(
-                                       'a' => array( 'href' => true ),
-                                       'strong' => true,
-                               )
-                       ),
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                 wp_kses_data( __(
+                               '<strong>Instructions:</strong> You can generate an agreement for this sponsor <a href="%s">here</a>. Upload a PDF or image file of the signed, dated sponsor agreement.', 'wordcamporg'
+                       ) ),
</ins><span class="cx" style="display: block; padding: 0 10px">                         esc_url( add_query_arg( array( 'page' => 'wcdocs' ), admin_url( 'admin.php' ) ) )
</span><span class="cx" style="display: block; padding: 0 10px">                );
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+
</ins><span class="cx" style="display: block; padding: 0 10px">                 ?>
</span><span class="cx" style="display: block; padding: 0 10px">        </p>
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+
</ins><span class="cx" style="display: block; padding: 0 10px">         <p id="sponsor-agreement-upload-container" class="hidden">
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                <a id="sponsor-agreement-upload" class="button secondary" href="#"><?php esc_html_e( 'Attach Signed Agreement', 'wordcamporg' ); ?></a>
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+         <a id="sponsor-agreement-upload" class="button secondary" href="#">
+                       <?php esc_html_e( 'Attach Signed Agreement', 'wordcamporg' ); ?>
+               </a>
</ins><span class="cx" style="display: block; padding: 0 10px">         </p>
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">        <p id="sponsor-agreement-view-container" class="hidden">
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                <a id="sponsor-agreement-view" class="button secondary<?php if ( ! $agreement_url ) echo ' hidden'; ?>" href="<?php echo esc_url( $agreement_url ); ?>" target="sponsor-agreement"><?php esc_html_e( 'View Agreement', 'wordcamporg' ); ?></a>
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+         <a id="sponsor-agreement-view"
+                  class="button secondary <?php if ( ! $agreement_url ) { echo ' hidden'; } ?>"
+                  href="<?php echo esc_url( $agreement_url ); ?>"
+                  target="sponsor-agreement">
+                       <?php esc_html_e( 'View Agreement', 'wordcamporg' ); ?>
+               </a>
</ins><span class="cx" style="display: block; padding: 0 10px">         </p>
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+
</ins><span class="cx" style="display: block; padding: 0 10px">         <p id="sponsor-agreement-remove-container" class="hidden">
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                <a id="sponsor-agreement-remove" href="#"><?php esc_html_e( 'Remove Agreement', 'wordcamporg' ); ?></a>
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+         <a id="sponsor-agreement-remove" href="#">
+                       <?php esc_html_e( 'Remove Agreement', 'wordcamporg' ); ?>
+               </a>
</ins><span class="cx" style="display: block; padding: 0 10px">         </p>
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">        <input id="sponsor-agreement-id" name="_wcpt_sponsor_agreement" type="hidden" value="<?php echo esc_attr( $agreement_id ); ?>" />
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-<?php endif; ?>
</del><span class="cx" style="display: block; padding: 0 10px">\ No newline at end of file
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+<?php endif;
</ins></span></pre></div>
<a id="sitestrunkwordcamporgpublic_htmlwpcontentpluginswcposttypesviewssponsorsmetaboxsponsorinfophp"></a>
<div class="modfile"><h4 style="background-color: #eee; color: inherit; margin: 1em 0; padding: 1.3em; font-size: 115%">Modified: sites/trunk/wordcamp.org/public_html/wp-content/plugins/wc-post-types/views/sponsors/metabox-sponsor-info.php</h4>
<pre class="diff"><span>
<span class="info" style="display: block; padding: 0 10px; color: #888">--- sites/trunk/wordcamp.org/public_html/wp-content/plugins/wc-post-types/views/sponsors/metabox-sponsor-info.php     2018-02-26 12:45:25 UTC (rev 6763)
+++ sites/trunk/wordcamp.org/public_html/wp-content/plugins/wc-post-types/views/sponsors/metabox-sponsor-info.php       2018-02-26 18:38:19 UTC (rev 6764)
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -15,7 +15,7 @@
</span><span class="cx" style="display: block; padding: 0 10px">                        name="_wcpt_sponsor_company_name"
</span><span class="cx" style="display: block; padding: 0 10px">                        value="<?php echo esc_attr( $company_name ); ?>"
</span><span class="cx" style="display: block; padding: 0 10px">                        maxlength="50"
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                    required
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                 required
</ins><span class="cx" style="display: block; padding: 0 10px">                 />
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">                <?php wcorg_required_indicator(); ?>
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -32,7 +32,7 @@
</span><span class="cx" style="display: block; padding: 0 10px">                        id="_wcpt_sponsor_website"
</span><span class="cx" style="display: block; padding: 0 10px">                        name="_wcpt_sponsor_website"
</span><span class="cx" style="display: block; padding: 0 10px">                        value="<?php echo esc_url( $website ); ?>"
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                    required
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                 required
</ins><span class="cx" style="display: block; padding: 0 10px">                 />
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">                <?php wcorg_required_indicator(); ?>
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -101,7 +101,7 @@
</span><span class="cx" style="display: block; padding: 0 10px">                        name="_wcpt_sponsor_phone_number"
</span><span class="cx" style="display: block; padding: 0 10px">                        value="<?php echo esc_attr( $phone_number ); ?>"
</span><span class="cx" style="display: block; padding: 0 10px">                        maxlength="21"
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                    required
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                 required
</ins><span class="cx" style="display: block; padding: 0 10px">                 />
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">                <?php wcorg_required_indicator(); ?>
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -143,7 +143,7 @@
</span><span class="cx" style="display: block; padding: 0 10px"> <ul class="wcpt-form">
</span><span class="cx" style="display: block; padding: 0 10px">        <li>
</span><span class="cx" style="display: block; padding: 0 10px">                <label for="_wcpt_sponsor_country">
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                        <?php _e( 'Country:', 'wordcamporg' ) ?>
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                 <?php _e( 'Country:', 'wordcamporg' ); ?>
</ins><span class="cx" style="display: block; padding: 0 10px">                 </label>
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">                <?php // todo add selected attribute to select and change first option value to empty string ?>
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -177,7 +177,7 @@
</span><span class="cx" style="display: block; padding: 0 10px">                        id="_wcpt_sponsor_street_address1"
</span><span class="cx" style="display: block; padding: 0 10px">                        name="_wcpt_sponsor_street_address1"
</span><span class="cx" style="display: block; padding: 0 10px">                        value="<?php echo esc_attr( $street_address1 ); ?>"
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                    required
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                 required
</ins><span class="cx" style="display: block; padding: 0 10px">                 />
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">                <?php wcorg_required_indicator(); ?>
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -208,7 +208,7 @@
</span><span class="cx" style="display: block; padding: 0 10px">                        id="_wcpt_sponsor_city"
</span><span class="cx" style="display: block; padding: 0 10px">                        name="_wcpt_sponsor_city"
</span><span class="cx" style="display: block; padding: 0 10px">                        value="<?php echo esc_attr( $city ); ?>"
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                    required
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                 required
</ins><span class="cx" style="display: block; padding: 0 10px">                 />
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">                <?php wcorg_required_indicator(); ?>
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -244,7 +244,7 @@
</span><span class="cx" style="display: block; padding: 0 10px">                        name="_wcpt_sponsor_zip_code"
</span><span class="cx" style="display: block; padding: 0 10px">                        value="<?php echo esc_attr( $zip_code ); ?>"
</span><span class="cx" style="display: block; padding: 0 10px">                        maxlength="30"
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                    required
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                 required
</ins><span class="cx" style="display: block; padding: 0 10px">                 />
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">                <?php wcorg_required_indicator(); ?>
</span></span></pre></div>
<a id="sitestrunkwordcamporgpublic_htmlwpcontentpluginswcposttypeswcposttypesphp"></a>
<div class="modfile"><h4 style="background-color: #eee; color: inherit; margin: 1em 0; padding: 1.3em; font-size: 115%">Modified: sites/trunk/wordcamp.org/public_html/wp-content/plugins/wc-post-types/wc-post-types.php</h4>
<pre class="diff"><span>
<span class="info" style="display: block; padding: 0 10px; color: #888">--- sites/trunk/wordcamp.org/public_html/wp-content/plugins/wc-post-types/wc-post-types.php   2018-02-26 12:45:25 UTC (rev 6763)
+++ sites/trunk/wordcamp.org/public_html/wp-content/plugins/wc-post-types/wc-post-types.php     2018-02-26 18:38:19 UTC (rev 6764)
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -114,8 +114,9 @@
</span><span class="cx" style="display: block; padding: 0 10px">         * Renders the Order Sponsor Levels admin page.
</span><span class="cx" style="display: block; padding: 0 10px">         */
</span><span class="cx" style="display: block; padding: 0 10px">        function render_order_sponsor_levels() {
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                if ( ! isset( $_REQUEST['updated'] ) )
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+         if ( ! isset( $_REQUEST['updated'] ) ) {
</ins><span class="cx" style="display: block; padding: 0 10px">                         $_REQUEST['updated'] = false;
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                }
</ins><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">                $levels = $this->get_sponsor_levels();
</span><span class="cx" style="display: block; padding: 0 10px">                ?>
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -133,7 +134,7 @@
</span><span class="cx" style="display: block; padding: 0 10px">                                        <?php _e( 'Change the order of sponsor levels are displayed in the sponsors page template.', 'wordcamporg' ); ?>
</span><span class="cx" style="display: block; padding: 0 10px">                                </div>
</span><span class="cx" style="display: block; padding: 0 10px">                                <ul class="sponsor-order">
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                                <?php foreach( $levels as $term ): ?>
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                         <?php foreach ( $levels as $term ) : ?>
</ins><span class="cx" style="display: block; padding: 0 10px">                                         <li class="level">
</span><span class="cx" style="display: block; padding: 0 10px">                                                <input type="hidden" class="level-id" name="wcb_sponsor_level_order[]" value="<?php echo esc_attr( $term->term_id ); ?>" />
</span><span class="cx" style="display: block; padding: 0 10px">                                                <?php echo esc_html( $term->name ); ?>
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -168,17 +169,18 @@
</span><span class="cx" style="display: block; padding: 0 10px">         * Returns the sponsor level terms in set order.
</span><span class="cx" style="display: block; padding: 0 10px">         */
</span><span class="cx" style="display: block; padding: 0 10px">        function get_sponsor_levels() {
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                $option         = get_option( 'wcb_sponsor_level_order' );
-               $term_objects   = get_terms( 'wcb_sponsor_level', array( 'get' => 'all' ) );
-               $terms          = array();
-               $ordered_terms  = array();
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+         $option        = get_option( 'wcb_sponsor_level_order' );
+               $term_objects  = get_terms( 'wcb_sponsor_level', array( 'get' => 'all' ) );
+               $terms         = array();
+               $ordered_terms = array();
</ins><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">                foreach ( $term_objects as $term ) {
</span><span class="cx" style="display: block; padding: 0 10px">                        $terms[ $term->term_id ] = $term;
</span><span class="cx" style="display: block; padding: 0 10px">                }
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                if ( empty( $option ) )
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+         if ( empty( $option ) ) {
</ins><span class="cx" style="display: block; padding: 0 10px">                         $option = array();
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                }
</ins><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">                foreach ( $option as $term_id ) {
</span><span class="cx" style="display: block; padding: 0 10px">                        if ( isset( $terms[ $term_id ] ) ) {
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -196,8 +198,9 @@
</span><span class="cx" style="display: block; padding: 0 10px">         * @param WP_Query $query
</span><span class="cx" style="display: block; padding: 0 10px">         */
</span><span class="cx" style="display: block; padding: 0 10px">        function admin_pre_get_posts( $query ) {
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                if ( ! is_admin() || ! $query->is_main_query() )
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+         if ( ! is_admin() || ! $query->is_main_query() ) {
</ins><span class="cx" style="display: block; padding: 0 10px">                         return;
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                }
</ins><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">                $current_screen = get_current_screen();
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -227,7 +230,7 @@
</span><span class="cx" style="display: block; padding: 0 10px">                                        'modalTitle' => __( 'Sponsor Agreement', 'wordcamporg' ),
</span><span class="cx" style="display: block; padding: 0 10px">                                ),
</span><span class="cx" style="display: block; padding: 0 10px">                                'modal' => array(
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                                        'allowedTypes' => array( 'image', 'application/pdf' )
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                                 'allowedTypes' => array( 'image', 'application/pdf' ),
</ins><span class="cx" style="display: block; padding: 0 10px">                                 ),
</span><span class="cx" style="display: block; padding: 0 10px">                        )
</span><span class="cx" style="display: block; padding: 0 10px">                );
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -348,12 +351,12 @@
</span><span class="cx" style="display: block; padding: 0 10px">                foreach ( $sessions as $session ) {
</span><span class="cx" style="display: block; padding: 0 10px">                        // Get the speaker IDs for all the sessions in the requested tracks
</span><span class="cx" style="display: block; padding: 0 10px">                        $session_speaker_ids = get_post_meta( $session->ID, '_wcpt_speaker_id' );
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                        $speaker_ids = array_merge( $speaker_ids, $session_speaker_ids );
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                 $speaker_ids         = array_merge( $speaker_ids, $session_speaker_ids );
</ins><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">                        // Map speaker IDs to their corresponding tracks
</span><span class="cx" style="display: block; padding: 0 10px">                        $session_terms = wp_get_object_terms( $session->ID, 'wcb_track' );
</span><span class="cx" style="display: block; padding: 0 10px">                        foreach ( $session_speaker_ids as $speaker_id ) {
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                                if ( isset ( $speakers_tracks[ $speaker_id ] ) ) {
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                         if ( isset( $speakers_tracks[ $speaker_id ] ) ) {
</ins><span class="cx" style="display: block; padding: 0 10px">                                         $speakers_tracks[ $speaker_id ] = array_merge( $speakers_tracks[ $speaker_id ], wp_list_pluck( $session_terms, 'slug' ) );
</span><span class="cx" style="display: block; padding: 0 10px">                                } else {
</span><span class="cx" style="display: block; padding: 0 10px">                                        $speakers_tracks[ $speaker_id ] = wp_list_pluck( $session_terms, 'slug' );
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -391,8 +394,9 @@
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">                $speakers = new WP_Query( $speaker_args );
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                if ( ! $speakers->have_posts() )
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+         if ( ! $speakers->have_posts() ) {
</ins><span class="cx" style="display: block; padding: 0 10px">                         return '';
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                }
</ins><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">                // Render the HTML for the shortcode
</span><span class="cx" style="display: block; padding: 0 10px">                ob_start();
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -400,38 +404,44 @@
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">                <div class="wcorg-speakers">
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                        <?php while ( $speakers->have_posts() ) : $speakers->the_post(); ?>
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                 <?php while ( $speakers->have_posts() ) :
+                               $speakers->the_post();
</ins><span class="cx" style="display: block; padding: 0 10px"> 
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                                <?php
-                                       $speaker_classes = array( 'wcorg-speaker', 'wcorg-speaker-' . sanitize_html_class( $post->post_name ) );
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                         $speaker_classes = array( 'wcorg-speaker', 'wcorg-speaker-' . sanitize_html_class( $post->post_name ) );
</ins><span class="cx" style="display: block; padding: 0 10px"> 
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                                        if ( isset( $speakers_tracks[ get_the_ID() ] ) ) {
-                                               foreach ( $speakers_tracks[ get_the_ID() ] as $track ) {
-                                                       $speaker_classes[] = sanitize_html_class( 'wcorg-track-' . $track );
-                                               }
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                         if ( isset( $speakers_tracks[ get_the_ID() ] ) ) {
+                                       foreach ( $speakers_tracks[ get_the_ID() ] as $track ) {
+                                               $speaker_classes[] = sanitize_html_class( 'wcorg-track-' . $track );
</ins><span class="cx" style="display: block; padding: 0 10px">                                         }
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                                }
+
</ins><span class="cx" style="display: block; padding: 0 10px">                                 ?>
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">                                <!-- Organizers note: The id attribute is deprecated and only remains for backwards compatibility, please use the corresponding class to target individual speakers -->
</span><span class="cx" style="display: block; padding: 0 10px">                                <div id="wcorg-speaker-<?php echo sanitize_html_class( $post->post_name ); ?>" class="<?php echo implode( ' ', $speaker_classes ); ?>">
</span><span class="cx" style="display: block; padding: 0 10px">                                        <h2>
</span><span class="cx" style="display: block; padding: 0 10px">                                                <?php if ( 'permalink' === $attr['speaker_link'] ) : ?>
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+
</ins><span class="cx" style="display: block; padding: 0 10px">                                                         <a href="<?php the_permalink(); ?>">
</span><span class="cx" style="display: block; padding: 0 10px">                                                                <?php the_title(); ?>
</span><span class="cx" style="display: block; padding: 0 10px">                                                        </a>
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+
</ins><span class="cx" style="display: block; padding: 0 10px">                                                 <?php else : ?>
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+
</ins><span class="cx" style="display: block; padding: 0 10px">                                                         <?php the_title(); ?>
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+
</ins><span class="cx" style="display: block; padding: 0 10px">                                                 <?php endif; ?>
</span><span class="cx" style="display: block; padding: 0 10px">                                        </h2>
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+
</ins><span class="cx" style="display: block; padding: 0 10px">                                         <div class="wcorg-speaker-description">
</span><span class="cx" style="display: block; padding: 0 10px">                                                <?php echo ( $attr['show_avatars'] ) ? get_avatar( get_post_meta( get_the_ID(), '_wcb_speaker_email', true ), absint( $attr['avatar_size'] ) ) : ''; ?>
</span><span class="cx" style="display: block; padding: 0 10px">                                                <?php the_content(); ?>
</span><span class="cx" style="display: block; padding: 0 10px">                                        </div>
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                                </div><!-- .wcorg-speaker -->
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                         </div>
</ins><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">                        <?php endwhile; ?>
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                </div><!-- .wcorg-speakers -->
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+         </div>
</ins><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">                <?php
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -453,10 +463,10 @@
</span><span class="cx" style="display: block; padding: 0 10px">                ), $attr );
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">                $attr['show_avatars'] = $this->str_to_bool( $attr['show_avatars'] );
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                $attr['orderby'] = strtolower( $attr['orderby'] );
-               $attr['orderby'] = ( in_array( $attr['orderby'], array( 'date', 'title', 'rand' ) ) ) ? $attr['orderby'] : 'date';
-               $attr['order']   = strtolower( $attr['order'] );
-               $attr['order']   = ( in_array( $attr['order'], array( 'asc', 'desc' ), true ) ) ? $attr['order'] : 'desc';
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+         $attr['orderby']      = strtolower( $attr['orderby'] );
+               $attr['orderby']      = ( in_array( $attr['orderby'], array( 'date', 'title', 'rand' ) ) ) ? $attr['orderby'] : 'date';
+               $attr['order']        = strtolower( $attr['order'] );
+               $attr['order']        = ( in_array( $attr['order'], array( 'asc', 'desc' ), true ) ) ? $attr['order'] : 'desc';
</ins><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">                $query_args = array(
</span><span class="cx" style="display: block; padding: 0 10px">                        'post_type'      => 'wcb_organizer',
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -477,14 +487,16 @@
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">                $organizers = new WP_Query( $query_args );
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                if ( ! $organizers->have_posts() )
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+         if ( ! $organizers->have_posts() ) {
</ins><span class="cx" style="display: block; padding: 0 10px">                         return '';
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                }
</ins><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">                ob_start();
</span><span class="cx" style="display: block; padding: 0 10px">                ?>
</span><span class="cx" style="display: block; padding: 0 10px">                <div class="wcorg-organizers">
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                        <?php while ( $organizers->have_posts() ) : $organizers->the_post(); ?>
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                 <?php while ( $organizers->have_posts() ) :
+                               $organizers->the_post(); ?>
</ins><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">                                <div class="wcorg-organizer">
</span><span class="cx" style="display: block; padding: 0 10px">                                        <h2><?php the_title(); ?></h2>
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -579,12 +591,14 @@
</span><span class="cx" style="display: block; padding: 0 10px">                                $session_track_titles = is_array( $session_tracks ) ? implode( ', ', wp_list_pluck( $session_tracks, 'name' ) ) : '';
</span><span class="cx" style="display: block; padding: 0 10px">                                $session_type         = get_post_meta( $session->ID, '_wcpt_session_type', true );
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                                if ( ! in_array( $session_type, array( 'session', 'custom' ) ) )
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                         if ( ! in_array( $session_type, array( 'session', 'custom' ) ) ) {
</ins><span class="cx" style="display: block; padding: 0 10px">                                         $session_type = 'session';
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                                }
</ins><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">                                // Fetch speakers associated with this session.
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                                $speakers = array();
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                         $speakers     = array();
</ins><span class="cx" style="display: block; padding: 0 10px">                                 $speakers_ids = array_map( 'absint', (array) get_post_meta( $session->ID, '_wcpt_speaker_id' ) );
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+
</ins><span class="cx" style="display: block; padding: 0 10px">                                 if ( ! empty( $speakers_ids ) ) {
</span><span class="cx" style="display: block; padding: 0 10px">                                        $speakers = get_posts( array(
</span><span class="cx" style="display: block; padding: 0 10px">                                                'post_type'      => 'wcb_speaker',
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -632,22 +646,28 @@
</span><span class="cx" style="display: block; padding: 0 10px">                                foreach ( $speakers as $speaker ) {
</span><span class="cx" style="display: block; padding: 0 10px">                                        $speaker_name = apply_filters( 'the_title', $speaker->post_title );
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                                        if ( 'anchor' == $attr['speaker_link'] ) // speakers/#wcorg-speaker-slug
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                                 if ( 'anchor' == $attr['speaker_link'] ) {
+                                               // speakers/#wcorg-speaker-slug
</ins><span class="cx" style="display: block; padding: 0 10px">                                                 $speaker_permalink = $this->get_wcpt_anchor_permalink( $speaker->ID );
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                                        elseif ( 'wporg' == $attr['speaker_link'] ) // profiles.wordpress.org/user
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                                 } elseif ( 'wporg' == $attr['speaker_link'] ) {
+                                               // profiles.wordpress.org/user
</ins><span class="cx" style="display: block; padding: 0 10px">                                                 $speaker_permalink = $this->get_speaker_wporg_permalink( $speaker->ID );
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                                        elseif ( 'permalink' == $attr['speaker_link'] ) // year.city.wordcamp.org/speakers/slug
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                                 } elseif ( 'permalink' == $attr['speaker_link'] ) {
+                                               // year.city.wordcamp.org/speakers/slug
</ins><span class="cx" style="display: block; padding: 0 10px">                                                 $speaker_permalink = get_permalink( $speaker->ID );
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                                        }
</ins><span class="cx" style="display: block; padding: 0 10px"> 
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                                        if ( ! empty( $speaker_permalink ) )
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                                 if ( ! empty( $speaker_permalink ) ) {
</ins><span class="cx" style="display: block; padding: 0 10px">                                                 $speaker_name = sprintf( '<a href="%s">%s</a>', esc_url( $speaker_permalink ), esc_html( $speaker_name ) );
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                                        }
</ins><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">                                        $speakers_names[] = $speaker_name;
</span><span class="cx" style="display: block; padding: 0 10px">                                }
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">                                // Add speakers names to the output string.
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                                if ( count( $speakers_names ) )
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                         if ( count( $speakers_names ) ) {
</ins><span class="cx" style="display: block; padding: 0 10px">                                         $content .= sprintf( ' <span class="wcpt-session-speakers">%s</span>', implode( ', ', $speakers_names ) );
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                                }
</ins><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">                                // End of cell-content.
</span><span class="cx" style="display: block; padding: 0 10px">                                $content .= '</div>';
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -657,8 +677,9 @@
</span><span class="cx" style="display: block; padding: 0 10px">                                // If the next element in the table is the same as the current one, use colspan
</span><span class="cx" style="display: block; padding: 0 10px">                                if ( $key != key( array_slice( $columns, -1, 1, true ) ) ) {
</span><span class="cx" style="display: block; padding: 0 10px">                                        while ( $pair = each( $columns_clone ) ) {
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                                                if ( $pair['key'] == $key )
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                                         if ( $pair['key'] == $key ) {
</ins><span class="cx" style="display: block; padding: 0 10px">                                                         continue;
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                                                }
</ins><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">                                                if ( ! empty( $entry[ $pair['value'] ] ) && $entry[ $pair['value'] ] == $session->ID ) {
</span><span class="cx" style="display: block; padding: 0 10px">                                                        $colspan++;
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -768,16 +789,19 @@
</span><span class="cx" style="display: block; padding: 0 10px">         */
</span><span class="cx" style="display: block; padding: 0 10px">        function get_speaker_wporg_permalink( $speaker_id ) {
</span><span class="cx" style="display: block; padding: 0 10px">                $post = get_post( $speaker_id );
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                if ( $post->post_type != 'wcb_speaker' || $post->post_status != 'publish' )
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+         if ( $post->post_type != 'wcb_speaker' || $post->post_status != 'publish' ) {
</ins><span class="cx" style="display: block; padding: 0 10px">                         return;
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                }
</ins><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">                $wporg_user_id = get_post_meta( $speaker_id, '_wcpt_user_id', true );
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                if ( ! $wporg_user_id )
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+         if ( ! $wporg_user_id ) {
</ins><span class="cx" style="display: block; padding: 0 10px">                         return;
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                }
</ins><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">                $user = get_user_by( 'id', $wporg_user_id );
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                if ( ! $user )
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+         if ( ! $user ) {
</ins><span class="cx" style="display: block; padding: 0 10px">                         return;
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                }
</ins><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">                $permalink = sprintf( 'http://profiles.wordpress.org/%s', strtolower( $user->user_nicename ) );
</span><span class="cx" style="display: block; padding: 0 10px">                return esc_url_raw( $permalink );
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -803,7 +827,7 @@
</span><span class="cx" style="display: block; padding: 0 10px">                        return '';
</span><span class="cx" style="display: block; padding: 0 10px">                }
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                switch( $anchor_target->post_type ) {
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+         switch ( $anchor_target->post_type ) {
</ins><span class="cx" style="display: block; padding: 0 10px">                         case 'wcb_speaker':
</span><span class="cx" style="display: block; padding: 0 10px">                                $permalink = has_shortcode( $post->post_content, 'speakers' ) ? get_permalink( $post->id ) : $this->get_wcpt_permalink( 'speakers' );
</span><span class="cx" style="display: block; padding: 0 10px">                                $anchor_id = $anchor_target->post_name;
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -909,8 +933,9 @@
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">                // Convert bools to real booleans.
</span><span class="cx" style="display: block; padding: 0 10px">                $bools = array( 'show_meta', 'show_avatars' );
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                foreach ( $bools as $key )
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+         foreach ( $bools as $key ) {
</ins><span class="cx" style="display: block; padding: 0 10px">                         $attr[ $key ] = $this->str_to_bool( $attr[ $key ] );
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                }
</ins><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">                // Clean up other attributes.
</span><span class="cx" style="display: block; padding: 0 10px">                foreach ( array( 'track', 'speaker_link', 'orderby', 'order' ) as $key_for_case_sensitive_value ) {
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -919,8 +944,9 @@
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">                $attr['avatar_size'] = absint( $attr['avatar_size'] );
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                if ( ! in_array( $attr['speaker_link'], array( 'anchor', 'wporg', 'permalink', 'none' ) ) )
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+         if ( ! in_array( $attr['speaker_link'], array( 'anchor', 'wporg', 'permalink', 'none' ) ) ) {
</ins><span class="cx" style="display: block; padding: 0 10px">                         $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'
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                }
</ins><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">                $attr['orderby'] = ( in_array( $attr['orderby'], array( 'date', 'title', 'rand', 'session_time' ) ) ) ? $attr['orderby'] : 'date';
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -954,7 +980,7 @@
</span><span class="cx" style="display: block; padding: 0 10px">                                                'value'   => '',
</span><span class="cx" style="display: block; padding: 0 10px">                                                'compare' => 'NOT EXISTS',
</span><span class="cx" style="display: block; padding: 0 10px">                                        ),
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                                )
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                         ),
</ins><span class="cx" style="display: block; padding: 0 10px">                         ),
</span><span class="cx" style="display: block; padding: 0 10px">                );
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -987,98 +1013,112 @@
</span><span class="cx" style="display: block; padding: 0 10px">                // Fetch sessions.
</span><span class="cx" style="display: block; padding: 0 10px">                $sessions = new WP_Query( $args );
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                if ( ! $sessions->have_posts() )
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+         if ( ! $sessions->have_posts() ) {
</ins><span class="cx" style="display: block; padding: 0 10px">                         return;
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                }
</ins><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">                ob_start();
</span><span class="cx" style="display: block; padding: 0 10px">                ?>
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">                <div class="wcorg-sessions">
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                        <?php while ( $sessions->have_posts() ) :
+                               $sessions->the_post();
</ins><span class="cx" style="display: block; padding: 0 10px"> 
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                        <?php while ( $sessions->have_posts() ) : $sessions->the_post(); ?>
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                         // Things to be output, or not.
+                               $session_meta     = '';
+                               $speakers_avatars = '';
+                               $links            = array();
</ins><span class="cx" style="display: block; padding: 0 10px"> 
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                                <?php
-                                       // Things to be output, or not.
-                                       $session_meta = '';
-                                       $speakers_avatars = '';
-                                       $links            = array();
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                         // Fetch speakers associated with this session.
+                               $speakers     = array();
+                               $speakers_ids = array_map( 'absint', (array) get_post_meta( get_the_ID(), '_wcpt_speaker_id' ) );
</ins><span class="cx" style="display: block; padding: 0 10px"> 
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                                        // Fetch speakers associated with this session.
-                                       $speakers = array();
-                                       $speakers_ids = array_map( 'absint', (array) get_post_meta( get_the_ID(), '_wcpt_speaker_id' ) );
-                                       if ( ! empty( $speakers_ids ) ) {
-                                               $speakers = get_posts( array(
-                                                       'post_type'      => 'wcb_speaker',
-                                                       'posts_per_page' => -1,
-                                                       'post__in'       => $speakers_ids,
-                                               ) );
-                                       }
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                         if ( ! empty( $speakers_ids ) ) {
+                                       $speakers = get_posts( array(
+                                               'post_type'      => 'wcb_speaker',
+                                               'posts_per_page' => -1,
+                                               'post__in'       => $speakers_ids,
+                                       ) );
+                               }
</ins><span class="cx" style="display: block; padding: 0 10px"> 
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                                        // Should we add avatars?
-                                       if ( $attr['show_avatars'] ) {
-                                               foreach ( $speakers as $speaker ) {
-                                                       $speakers_avatars .= get_avatar( get_post_meta( $speaker->ID, '_wcb_speaker_email', true ), absint( $attr['avatar_size'] ) );
-                                               }
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                         // Should we add avatars?
+                               if ( $attr['show_avatars'] ) {
+                                       foreach ( $speakers as $speaker ) {
+                                               $speakers_avatars .= get_avatar( get_post_meta( $speaker->ID, '_wcb_speaker_email', true ), absint( $attr['avatar_size'] ) );
</ins><span class="cx" style="display: block; padding: 0 10px">                                         }
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                                }
</ins><span class="cx" style="display: block; padding: 0 10px"> 
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                                        // Should we output meta?
-                                       if ( $attr['show_meta'] ) {
-                                               $speaker_permalink = '';
-                                               $speakers_names = array();
-                                               $tracks_names = array();
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                         // Should we output meta?
+                               if ( $attr['show_meta'] ) {
+                                       $speaker_permalink = '';
+                                       $speakers_names    = array();
+                                       $tracks_names      = array();
</ins><span class="cx" style="display: block; padding: 0 10px"> 
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                                                foreach ( $speakers as $speaker ) {
-                                                       $speaker_name = apply_filters( 'the_title', $speaker->post_title );
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                                 foreach ( $speakers as $speaker ) {
+                                               $speaker_name = apply_filters( 'the_title', $speaker->post_title );
</ins><span class="cx" style="display: block; padding: 0 10px"> 
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                                                        if ( 'anchor' == $attr['speaker_link'] ) // speakers/#wcorg-speaker-slug
-                                                               $speaker_permalink = $this->get_wcpt_anchor_permalink( $speaker->ID );
-                                                       elseif ( 'wporg' == $attr['speaker_link'] ) // profiles.wordpress.org/user
-                                                               $speaker_permalink = $this->get_speaker_wporg_permalink( $speaker->ID );
-                                                       elseif ( 'permalink' == $attr['speaker_link'] ) // year.city.wordcamp.org/speakers/slug
-                                                               $speaker_permalink = get_permalink( $speaker->ID );
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                                         if ( 'anchor' == $attr['speaker_link'] ) {
+                                                       // speakers/#wcorg-speaker-slug
+                                                       $speaker_permalink = $this->get_wcpt_anchor_permalink( $speaker->ID );
+                                               } elseif ( 'wporg' == $attr['speaker_link'] ) {
+                                                       // profiles.wordpress.org/user
+                                                       $speaker_permalink = $this->get_speaker_wporg_permalink( $speaker->ID );
+                                               } elseif ( 'permalink' == $attr['speaker_link'] ) {
+                                                       // year.city.wordcamp.org/speakers/slug
+                                                       $speaker_permalink = get_permalink( $speaker->ID );
+                                               }
</ins><span class="cx" style="display: block; padding: 0 10px"> 
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                                                        if ( ! empty( $speaker_permalink ) )
-                                                               $speaker_name = sprintf( '<a href="%s">%s</a>', esc_url( $speaker_permalink ), esc_html( $speaker_name ) );
-
-                                                       $speakers_names[] = $speaker_name;
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                                         if ( ! empty( $speaker_permalink ) ) {
+                                                       $speaker_name = sprintf( '<a href="%s">%s</a>', esc_url( $speaker_permalink ), esc_html( $speaker_name ) );
</ins><span class="cx" style="display: block; padding: 0 10px">                                                 }
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                                                $tracks = get_the_terms( get_the_ID(), 'wcb_track' );
-                                               if ( is_array( $tracks ) )
-                                                       foreach ( $tracks as $track )
-                                                               $tracks_names[] = apply_filters( 'the_title', $track->name );
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                                         $speakers_names[] = $speaker_name;
+                                       }
</ins><span class="cx" style="display: block; padding: 0 10px"> 
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                                                // Add speakers and tracks to session meta.
-                                               if ( ! empty( $speakers_names ) && ! empty( $tracks_names ) )
-                                                       $session_meta .= sprintf( __( 'Presented by %1$s in %2$s.', 'wordcamporg' ), implode( ', ', $speakers_names ), implode( ', ', $tracks_names ) );
-                                               elseif ( ! empty( $speakers_names ) )
-                                                       $session_meta .= sprintf( __( 'Presented by %s.', 'wordcamporg' ), implode( ', ', $speakers_names ) );
-                                               elseif ( ! empty( $tracks_names ) )
-                                                       $session_meta .= sprintf( __( 'Presented in %s.', 'wordcamporg' ), implode( ', ', $tracks_names ) );
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                                 $tracks = get_the_terms( get_the_ID(), 'wcb_track' );
</ins><span class="cx" style="display: block; padding: 0 10px"> 
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                                                if ( ! empty( $session_meta ) )
-                                                       $session_meta = sprintf( '<p class="wcpt-session-meta">%s</p>', $session_meta );
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                                 if ( is_array( $tracks ) ) {
+                                               foreach ( $tracks as $track ) {
+                                                       $tracks_names[] = apply_filters( 'the_title', $track->name );
+                                               }
</ins><span class="cx" style="display: block; padding: 0 10px">                                         }
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                                        // Gather data for list of links
-                                       if ( $url = get_post_meta( $post->ID, '_wcpt_session_slides', true ) ) {
-                                               $links['slides'] = array(
-                                                       'url'   => $url,
-                                                       'label' => __( 'Slides', 'wordcamporg' ),
-                                               );
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                                 // Add speakers and tracks to session meta.
+                                       if ( ! empty( $speakers_names ) && ! empty( $tracks_names ) ) {
+                                               $session_meta .= sprintf( __( 'Presented by %1$s in %2$s.', 'wordcamporg' ), implode( ', ', $speakers_names ), implode( ', ', $tracks_names ) );
+                                       } elseif ( ! empty( $speakers_names ) ) {
+                                               $session_meta .= sprintf( __( 'Presented by %s.', 'wordcamporg' ), implode( ', ', $speakers_names ) );
+                                       } elseif ( ! empty( $tracks_names ) ) {
+                                               $session_meta .= sprintf( __( 'Presented in %s.', 'wordcamporg' ), implode( ', ', $tracks_names ) );
</ins><span class="cx" style="display: block; padding: 0 10px">                                         }
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                                        if ( $url = get_post_meta( $post->ID, '_wcpt_session_video', true ) ) {
-                                               $links['video'] = array(
-                                                       'url'   => $url,
-                                                       'label' => __( 'Video', 'wordcamporg' ),
-                                               );
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                                 if ( ! empty( $session_meta ) ) {
+                                               $session_meta = sprintf( '<p class="wcpt-session-meta">%s</p>', $session_meta );
</ins><span class="cx" style="display: block; padding: 0 10px">                                         }
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                                }
</ins><span class="cx" style="display: block; padding: 0 10px"> 
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                                // Gather data for list of links
+                               if ( $url = get_post_meta( $post->ID, '_wcpt_session_slides', true ) ) {
+                                       $links['slides'] = array(
+                                               'url'   => $url,
+                                               'label' => __( 'Slides', 'wordcamporg' ),
+                                       );
+                               }
+
+                               if ( $url = get_post_meta( $post->ID, '_wcpt_session_video', true ) ) {
+                                       $links['video'] = array(
+                                               'url'   => $url,
+                                               'label' => __( 'Video', 'wordcamporg' ),
+                                       );
+                               }
+
</ins><span class="cx" style="display: block; padding: 0 10px">                                 ?>
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">                                <div id="wcorg-session-<?php the_ID(); ?>" class="wcorg-session" >
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                                        <h2><?php the_title(); ?></h2>
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                                 <h2>
+                                               <?php the_title(); ?>
+                                       </h2>
+
</ins><span class="cx" style="display: block; padding: 0 10px">                                         <div class="wcorg-session-description">
</span><span class="cx" style="display: block; padding: 0 10px">                                                <?php the_post_thumbnail(); ?>
</span><span class="cx" style="display: block; padding: 0 10px">                                                <?php echo $session_meta; ?>
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -1087,7 +1127,7 @@
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">                                                <?php if ( $links ) : ?>
</span><span class="cx" style="display: block; padding: 0 10px">                                                        <ul class="wcorg-session-links">
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                                                                <?php foreach( $links as $link ) : ?>
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                                                         <?php foreach ( $links as $link ) : ?>
</ins><span class="cx" style="display: block; padding: 0 10px">                                                                         <li>
</span><span class="cx" style="display: block; padding: 0 10px">                                                                                <a href="<?php echo esc_url( $link['url'] ); ?>">
</span><span class="cx" style="display: block; padding: 0 10px">                                                                                        <?php echo esc_html( $link['label'] ); ?>
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -1100,7 +1140,6 @@
</span><span class="cx" style="display: block; padding: 0 10px">                                </div>
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">                        <?php endwhile; ?>
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-
</del><span class="cx" style="display: block; padding: 0 10px">                 </div><!-- .wcorg-sessions -->
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">                <?php
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -1125,14 +1164,13 @@
</span><span class="cx" style="display: block; padding: 0 10px">                ), $attr );
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">                $attr['link'] = strtolower( $attr['link'] );
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                $terms = $this->get_sponsor_levels();
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+         $terms        = $this->get_sponsor_levels();
</ins><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">                ob_start();
</span><span class="cx" style="display: block; padding: 0 10px">                ?>
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">                <div class="wcorg-sponsors">
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                <?php foreach ( $terms as $term ) : ?>
-                       <?php
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                 <?php foreach ( $terms as $term ) :
</ins><span class="cx" style="display: block; padding: 0 10px">                                 $sponsors = new WP_Query( array(
</span><span class="cx" style="display: block; padding: 0 10px">                                        'post_type'      => 'wcb_sponsor',
</span><span class="cx" style="display: block; padding: 0 10px">                                        'order'          => 'ASC',
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -1141,59 +1179,72 @@
</span><span class="cx" style="display: block; padding: 0 10px">                                        'term'           => $term->slug,
</span><span class="cx" style="display: block; padding: 0 10px">                                ) );
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                                if ( ! $sponsors->have_posts() )
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                         if ( ! $sponsors->have_posts() ) {
</ins><span class="cx" style="display: block; padding: 0 10px">                                         continue;
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                        ?>
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                         }
</ins><span class="cx" style="display: block; padding: 0 10px"> 
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                        <div class="wcorg-sponsor-level-<?php echo sanitize_html_class( $term->slug ); ?>">
-                               <h2><?php echo esc_html( $term->name ); ?></h2>
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                         ?>
</ins><span class="cx" style="display: block; padding: 0 10px"> 
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                                <?php while ( $sponsors->have_posts() ) : $sponsors->the_post(); ?>
-                               <?php $website = get_post_meta( get_the_ID(), '_wcpt_sponsor_website', true ); ?>
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                         <div class="wcorg-sponsor-level-<?php echo sanitize_html_class( $term->slug ); ?>">
+                                       <h2><?php echo esc_html( $term->name ); ?></h2>
</ins><span class="cx" style="display: block; padding: 0 10px"> 
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                                <div id="wcorg-sponsor-<?php the_ID(); ?>" class="wcorg-sponsor">
-                                       <?php if ( 'visible' === $attr['title'] ) : ?>
-                                               <?php if ( 'website' === $attr['link'] && $website ) : ?>
-                                                       <h3><a href="<?php echo esc_attr( esc_url( $website ) ); ?>"><?php the_title(); ?></a></h3>
-                                               <?php elseif ( 'post' === $attr['link'] ) : ?>
-                                                       <h3><a href="<?php echo esc_attr( esc_url( get_permalink() ) ); ?>"><?php the_title(); ?></a></h3>
-                                               <?php else : ?>
-                                                       <h3><?php the_title(); ?></h3>
-                                               <?php endif; ?>
-                                       <?php endif; ?>
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                                 <?php while ( $sponsors->have_posts() ) :
+                                               $sponsors->the_post();
+                                               $website = get_post_meta( get_the_ID(), '_wcpt_sponsor_website', true );
+                                               ?>
</ins><span class="cx" style="display: block; padding: 0 10px"> 
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                                        <div class="wcorg-sponsor-description">
-                                               <?php if ( 'website' == $attr['link'] && $website ) : ?>
-                                                       <a href="<?php echo esc_attr( esc_url( $website ) ); ?>">
-                                                               <?php the_post_thumbnail( 'wcb-sponsor-logo-horizontal-2x', array( 'alt' => get_the_title() ) ); ?>
-                                                       </a>
-                                               <?php elseif ( 'post' == $attr['link'] ) : ?>
-                                                       <a href="<?php echo esc_attr( esc_url( get_permalink() ) ); ?>">
-                                                               <?php the_post_thumbnail( 'wcb-sponsor-logo-horizontal-2x', array( 'alt' => get_the_title() ) ); ?>
-                                                       </a>
-                                               <?php else : ?>
-                                                       <?php the_post_thumbnail( 'wcb-sponsor-logo-horizontal-2x', array( 'alt' => get_the_title() ) ); ?>
-                                               <?php endif; ?>
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                                         <div id="wcorg-sponsor-<?php the_ID(); ?>" class="wcorg-sponsor">
+                                                       <?php if ( 'visible' === $attr['title'] ) : ?>
+                                                               <?php if ( 'website' === $attr['link'] && $website ) : ?>
+                                                                       <h3>
+                                                                               <a href="<?php echo esc_attr( esc_url( $website ) ); ?>">
+                                                                                       <?php the_title(); ?>
+                                                                               </a>
+                                                                       </h3>
+                                                               <?php elseif ( 'post' === $attr['link'] ) : ?>
+                                                                       <h3>
+                                                                               <a href="<?php echo esc_attr( esc_url( get_permalink() ) ); ?>">
+                                                                                       <?php the_title(); ?>
+                                                                               </a>
+                                                                       </h3>
+                                                               <?php else : ?>
+                                                                       <h3>
+                                                                               <?php the_title(); ?>
+                                                                       </h3>
+                                                               <?php endif; ?>
+                                                       <?php endif; ?>
</ins><span class="cx" style="display: block; padding: 0 10px"> 
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                                                <?php if ( 'full' === $attr['content'] ) : ?>
-                                                       <?php the_content(); ?>
-                                               <?php elseif ( 'excerpt' === $attr['content'] ) : ?>
-                                                       <?php echo wpautop(
-                                                               wp_trim_words(
-                                                                       get_the_content(),
-                                                                       absint( $attr['excerpt_length'] ),
-                                                                       apply_filters( 'excerpt_more', ' ' . '&hellip;' )
-                                                               )
-                                                       ); ?>
-                                               <?php endif; ?>
-                                       </div>
-                               </div><!-- #sponsor -->
-                               <?php endwhile; ?>
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                                                 <div class="wcorg-sponsor-description">
+                                                               <?php if ( 'website' == $attr['link'] && $website ) : ?>
+                                                                       <a href="<?php echo esc_attr( esc_url( $website ) ); ?>">
+                                                                               <?php the_post_thumbnail( 'wcb-sponsor-logo-horizontal-2x', array( 'alt' => get_the_title() ) ); ?>
+                                                                       </a>
+                                                               <?php elseif ( 'post' == $attr['link'] ) : ?>
+                                                                       <a href="<?php echo esc_attr( esc_url( get_permalink() ) ); ?>">
+                                                                               <?php the_post_thumbnail( 'wcb-sponsor-logo-horizontal-2x', array( 'alt' => get_the_title() ) ); ?>
+                                                                       </a>
+                                                               <?php else : ?>
+                                                                       <?php the_post_thumbnail( 'wcb-sponsor-logo-horizontal-2x', array( 'alt' => get_the_title() ) ); ?>
+                                                               <?php endif; ?>
</ins><span class="cx" style="display: block; padding: 0 10px"> 
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                        </div><!-- .wcorg-sponsor-level -->
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                                                         <?php if ( 'full' === $attr['content'] ) : ?>
+                                                                       <?php the_content(); ?>
+                                                               <?php elseif ( 'excerpt' === $attr['content'] ) : ?>
+                                                                       <?php echo wpautop(
+                                                                               wp_trim_words(
+                                                                                       get_the_content(),
+                                                                                       absint( $attr['excerpt_length'] ),
+                                                                                       apply_filters( 'excerpt_more', ' ' . '&hellip;' )
+                                                                               )
+                                                                       ); ?>
+                                                               <?php endif; ?>
+                                                       </div>
+                                               </div><!-- #sponsor -->
+                                       <?php endwhile; ?>
+                               </div><!-- .wcorg-sponsor-level -->
+                       <?php endforeach; ?>
+               </div><!-- .wcorg-sponsors -->
</ins><span class="cx" style="display: block; padding: 0 10px"> 
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                <?php endforeach; ?>
-               </div><!-- .wcorg-sponsors -->
</del><span class="cx" style="display: block; padding: 0 10px">                 <?php
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">                wp_reset_postdata();
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -1272,7 +1323,7 @@
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">                $speaker_ids = (array) get_post_meta( $post->ID, '_wcpt_speaker_id' );
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                if ( empty ( $speaker_ids ) ) {
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+         if ( empty( $speaker_ids ) ) {
</ins><span class="cx" style="display: block; padding: 0 10px">                         return $content;
</span><span class="cx" style="display: block; padding: 0 10px">                }
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -1324,6 +1375,7 @@
</span><span class="cx" style="display: block; padding: 0 10px">         */
</span><span class="cx" style="display: block; padding: 0 10px">        function add_slides_info_to_session_posts( $content ) {
</span><span class="cx" style="display: block; padding: 0 10px">                global $post;
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+
</ins><span class="cx" style="display: block; padding: 0 10px">                 $enabled_site_ids = apply_filters( 'wcpt_session_post_slides_info_enabled_site_ids', array(
</span><span class="cx" style="display: block; padding: 0 10px">                        206,  // testing.wordcamp.org
</span><span class="cx" style="display: block; padding: 0 10px">                        648,  // 2016.asheville
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -1336,13 +1388,14 @@
</span><span class="cx" style="display: block; padding: 0 10px">                }
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">                $site_id = get_current_blog_id();
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+
</ins><span class="cx" style="display: block; padding: 0 10px">                 if ( $site_id <= apply_filters( 'wcpt_session_post_slides_info_min_site_id', 699 ) && ! in_array( $site_id, $enabled_site_ids ) ) {
</span><span class="cx" style="display: block; padding: 0 10px">                        return $content;
</span><span class="cx" style="display: block; padding: 0 10px">                }
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">                $session_slides = get_post_meta( $post->ID, '_wcpt_session_slides', true );
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                if ( empty ( $session_slides ) ) {
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+         if ( empty( $session_slides ) ) {
</ins><span class="cx" style="display: block; padding: 0 10px">                         return $content;
</span><span class="cx" style="display: block; padding: 0 10px">                }
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -1366,6 +1419,7 @@
</span><span class="cx" style="display: block; padding: 0 10px">         */
</span><span class="cx" style="display: block; padding: 0 10px">        function add_video_info_to_session_posts( $content ) {
</span><span class="cx" style="display: block; padding: 0 10px">                global $post;
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+
</ins><span class="cx" style="display: block; padding: 0 10px">                 $enabled_site_ids = apply_filters( 'wcpt_session_post_video_info_enabled_site_ids', array(
</span><span class="cx" style="display: block; padding: 0 10px">                        206,  // testing.wordcamp.org
</span><span class="cx" style="display: block; padding: 0 10px">                        648,  // 2016.asheville
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -1377,13 +1431,14 @@
</span><span class="cx" style="display: block; padding: 0 10px">                }
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">                $site_id = get_current_blog_id();
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+
</ins><span class="cx" style="display: block; padding: 0 10px">                 if ( $site_id <= apply_filters( 'wcpt_session_post_video_info_min_site_id', 699 ) && ! in_array( $site_id, $enabled_site_ids ) ) {
</span><span class="cx" style="display: block; padding: 0 10px">                        return $content;
</span><span class="cx" style="display: block; padding: 0 10px">                }
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">                $session_video = get_post_meta( $post->ID, '_wcpt_session_video', true );
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                if ( empty ( $session_video ) ) {
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+         if ( empty( $session_video ) ) {
</ins><span class="cx" style="display: block; padding: 0 10px">                         return $content;
</span><span class="cx" style="display: block; padding: 0 10px">                }
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -1527,8 +1582,9 @@
</span><span class="cx" style="display: block; padding: 0 10px">                $user_id        = get_post_meta( $post->ID, '_wcpt_user_id', true );
</span><span class="cx" style="display: block; padding: 0 10px">                $wporg_user     = get_user_by( 'id', $user_id );
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                if ( $wporg_user )
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+         if ( $wporg_user ) {
</ins><span class="cx" style="display: block; padding: 0 10px">                         $wporg_username = $wporg_user->user_nicename;
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                }
</ins><span class="cx" style="display: block; padding: 0 10px">                 ?>
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">                <?php wp_nonce_field( 'edit-speaker-info', 'wcpt-meta-speaker-info' ); ?>
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -1556,8 +1612,9 @@
</span><span class="cx" style="display: block; padding: 0 10px">                $user_id        = get_post_meta( $post->ID, '_wcpt_user_id', true );
</span><span class="cx" style="display: block; padding: 0 10px">                $wporg_user     = get_user_by( 'id', $user_id );
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                if ( $wporg_user )
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+         if ( $wporg_user ) {
</ins><span class="cx" style="display: block; padding: 0 10px">                         $wporg_username = $wporg_user->user_nicename;
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                }
</ins><span class="cx" style="display: block; padding: 0 10px">                 ?>
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">                <?php wp_nonce_field( 'edit-organizer-info', 'wcpt-meta-organizer-info' ); ?>
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -1575,7 +1632,9 @@
</span><span class="cx" style="display: block; padding: 0 10px">         */
</span><span class="cx" style="display: block; padding: 0 10px">        function metabox_speakers_list() {
</span><span class="cx" style="display: block; padding: 0 10px">                global $post;
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+
</ins><span class="cx" style="display: block; padding: 0 10px">                 $speakers = get_post_meta( $post->ID, '_wcb_session_speakers', true );
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+
</ins><span class="cx" style="display: block; padding: 0 10px">                 wp_enqueue_script( 'jquery-ui-autocomplete' );
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">                $speakers_names   = array();
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -1586,57 +1645,83 @@
</span><span class="cx" style="display: block; padding: 0 10px">                ) );
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">                // We'll use these in js.
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                foreach ( $speakers_objects as $speaker_object )
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+         foreach ( $speakers_objects as $speaker_object ) {
</ins><span class="cx" style="display: block; padding: 0 10px">                         $speakers_names[] = $speaker_object->post_title;
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                }
+
</ins><span class="cx" style="display: block; padding: 0 10px">                 $speakers_names_first = array_pop( $speakers_names );
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+
</ins><span class="cx" style="display: block; padding: 0 10px">                 ?>
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">                <?php wp_nonce_field( 'edit-speakers-list', 'wcpt-meta-speakers-list-nonce' ); ?>
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+
</ins><span class="cx" style="display: block; padding: 0 10px">                 <!--<input type="text" class="text" id="wcpt-speakers-list" name="wcpt-speakers-list" value="<?php echo esc_attr( $speakers ); ?>" />-->
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                <textarea class="large-text" placeholder="Start typing a name" id="wcpt-speakers-list" name="wcpt-speakers-list"><?php echo esc_textarea( $speakers ); ?></textarea>
-               <p class="description"><?php _e( 'A speaker entry must exist first. Separate multiple speakers with commas.', 'wordcamporg' ); ?></p>
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+         <textarea class="large-text" placeholder="Start typing a name" id="wcpt-speakers-list" name="wcpt-speakers-list"><?php
+                       echo esc_textarea( $speakers );
+               ?></textarea>
</ins><span class="cx" style="display: block; padding: 0 10px"> 
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                <p class="description">
+                       <?php _e( 'A speaker entry must exist first. Separate multiple speakers with commas.', 'wordcamporg' ); ?>
+               </p>
+
</ins><span class="cx" style="display: block; padding: 0 10px">                 <script>
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                jQuery(document).ready( function($) {
-                       var availableSpeakers = [ <?php
-                               foreach ( $speakers_names as $name ) { printf( "'%s', ", esc_js( $name ) ); }
-                               printf( "'%s'", esc_js( $speakers_names_first ) ); // avoid the trailing comma
-                       ?> ];
-                       function split( val ) {
-                               return val.split( /,\s*/ );
-                       }
-                       function extractLast( term ) {
-                               return split( term ).pop();
-                       }
-                       $( '#wcpt-speakers-list' )
-                               .bind( 'keydown', function( event ) {
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                 jQuery( document ).ready( function ( $ ) {
+                               var availableSpeakers = [
+                                       <?php
+
+                                       foreach ( $speakers_names as $name ) {
+                                               printf( "'%s', ", esc_js( $name ) );
+                                       }
+
+                                       printf( "'%s'", esc_js( $speakers_names_first ) ); // avoid the trailing comma
+
+                                       ?>
+                               ];
+
+                               function split( val ) {
+                                       return val.split( /,\s*/ );
+                               }
+
+                               function extractLast( term ) {
+                                       return split( term ).pop();
+                               }
+
+                               $( '#wcpt-speakers-list' ).bind( 'keydown', function ( event ) {
</ins><span class="cx" style="display: block; padding: 0 10px">                                         if ( event.keyCode == $.ui.keyCode.TAB &&
</span><span class="cx" style="display: block; padding: 0 10px">                                                $( this ).data( 'autocomplete' ).menu.active ) {
</span><span class="cx" style="display: block; padding: 0 10px">                                                event.preventDefault();
</span><span class="cx" style="display: block; padding: 0 10px">                                        }
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                                })
-                               .autocomplete({
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                         } ).autocomplete( {
</ins><span class="cx" style="display: block; padding: 0 10px">                                         minLength: 0,
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                                        source: function( request, response ) {
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+
+                                       source: function ( request, response ) {
</ins><span class="cx" style="display: block; padding: 0 10px">                                                 response( $.ui.autocomplete.filter(
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                                                        availableSpeakers, extractLast( request.term ) ) )
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                                                 availableSpeakers, extractLast( request.term ) ) );
</ins><span class="cx" style="display: block; padding: 0 10px">                                         },
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                                        focus: function() {
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+
+                                       focus: function () {
</ins><span class="cx" style="display: block; padding: 0 10px">                                                 return false;
</span><span class="cx" style="display: block; padding: 0 10px">                                        },
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                                        select: function( event, ui ) {
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+
+                                       select: function ( event, ui ) {
</ins><span class="cx" style="display: block; padding: 0 10px">                                                 var terms = split( this.value );
</span><span class="cx" style="display: block; padding: 0 10px">                                                terms.pop();
</span><span class="cx" style="display: block; padding: 0 10px">                                                terms.push( ui.item.value );
</span><span class="cx" style="display: block; padding: 0 10px">                                                terms.push( '' );
</span><span class="cx" style="display: block; padding: 0 10px">                                                this.value = terms.join( ', ' );
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                                                $(this).focus();
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                                         $( this ).focus();
</ins><span class="cx" style="display: block; padding: 0 10px">                                                 return false;
</span><span class="cx" style="display: block; padding: 0 10px">                                        },
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                                        open: function() { $(this).addClass('open'); },
-                                       close: function() { $(this).removeClass('open'); }
-                               });
-               });
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+
+                                       open: function () {
+                                               $( this ).addClass( 'open' );
+                                       },
+
+                                       close: function () {
+                                               $( this ).removeClass( 'open' );
+                                       }
+                               } );
+                       } );
</ins><span class="cx" style="display: block; padding: 0 10px">                 </script>
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">                <?php
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -1663,7 +1748,7 @@
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">                        <select name="wcpt-session-hour" aria-label="<?php _e( 'Session Start Hour', 'wordcamporg' ); ?>">
</span><span class="cx" style="display: block; padding: 0 10px">                                <?php for ( $i = 1; $i <= 12; $i++ ) : ?>
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                                        <option value="<?php echo esc_attr( $i ); ?>" <?php selected( $i, $session_hours ) ?>>
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                                 <option value="<?php echo esc_attr( $i ); ?>" <?php selected( $i, $session_hours ); ?>>
</ins><span class="cx" style="display: block; padding: 0 10px">                                                 <?php echo esc_html( $i ); ?>
</span><span class="cx" style="display: block; padding: 0 10px">                                        </option>
</span><span class="cx" style="display: block; padding: 0 10px">                                <?php endfor; ?>
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -1671,15 +1756,15 @@
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">                        <select name="wcpt-session-minutes" aria-label="<?php _e( 'Session Start Minutes', 'wordcamporg' ); ?>">
</span><span class="cx" style="display: block; padding: 0 10px">                                <?php for ( $i = '00'; (int) $i <= 55; $i = sprintf( '%02d', (int) $i + 5 ) ) : ?>
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                                        <option value="<?php echo esc_attr( $i ); ?>" <?php selected( $i, $session_minutes ) ?>>
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                                 <option value="<?php echo esc_attr( $i ); ?>" <?php selected( $i, $session_minutes ); ?>>
</ins><span class="cx" style="display: block; padding: 0 10px">                                                 <?php echo esc_html( $i ); ?>
</span><span class="cx" style="display: block; padding: 0 10px">                                        </option>
</span><span class="cx" style="display: block; padding: 0 10px">                                <?php endfor; ?>
</span><span class="cx" style="display: block; padding: 0 10px">                        </select>
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">                        <select name="wcpt-session-meridiem" aria-label="<?php _e( 'Session Meridiem', 'wordcamporg' ); ?>">
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                                <option value="am" <?php selected( 'am', $session_meridiem ) ?>>am</option>
-                               <option value="pm" <?php selected( 'pm', $session_meridiem ) ?>>pm</option>
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                         <option value="am" <?php selected( 'am', $session_meridiem ); ?>>am</option>
+                               <option value="pm" <?php selected( 'pm', $session_meridiem ); ?>>pm</option>
</ins><span class="cx" style="display: block; padding: 0 10px">                         </select>
</span><span class="cx" style="display: block; padding: 0 10px">                </p>
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -1710,21 +1795,21 @@
</span><span class="cx" style="display: block; padding: 0 10px">         * @param WP_Post $sponsor
</span><span class="cx" style="display: block; padding: 0 10px">         */
</span><span class="cx" style="display: block; padding: 0 10px">        function metabox_sponsor_info( $sponsor ) {
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                $company_name      = get_post_meta( $sponsor->ID, '_wcpt_sponsor_company_name',      true );
-               $website           = get_post_meta( $sponsor->ID, '_wcpt_sponsor_website',           true );
-               $first_name        = get_post_meta( $sponsor->ID, '_wcpt_sponsor_first_name',        true );
-               $last_name         = get_post_meta( $sponsor->ID, '_wcpt_sponsor_last_name',         true );
-               $email_address     = get_post_meta( $sponsor->ID, '_wcpt_sponsor_email_address',     true );
-               $phone_number      = get_post_meta( $sponsor->ID, '_wcpt_sponsor_phone_number',      true );
-               $vat_number        = get_post_meta( $sponsor->ID, '_wcpt_sponsor_vat_number',        true );
-               $twitter_handle    = get_post_meta( $sponsor->ID, '_wcpt_sponsor_twitter_handle',    true );
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+         $company_name   = get_post_meta( $sponsor->ID, '_wcpt_sponsor_company_name',   true );
+               $website        = get_post_meta( $sponsor->ID, '_wcpt_sponsor_website',        true );
+               $first_name     = get_post_meta( $sponsor->ID, '_wcpt_sponsor_first_name',     true );
+               $last_name      = get_post_meta( $sponsor->ID, '_wcpt_sponsor_last_name',      true );
+               $email_address  = get_post_meta( $sponsor->ID, '_wcpt_sponsor_email_address',  true );
+               $phone_number   = get_post_meta( $sponsor->ID, '_wcpt_sponsor_phone_number',   true );
+               $vat_number     = get_post_meta( $sponsor->ID, '_wcpt_sponsor_vat_number',     true );
+               $twitter_handle = get_post_meta( $sponsor->ID, '_wcpt_sponsor_twitter_handle', true );
</ins><span class="cx" style="display: block; padding: 0 10px"> 
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                $street_address1 = get_post_meta( $sponsor->ID, '_wcpt_sponsor_street_address1',   true );
-               $street_address2 = get_post_meta( $sponsor->ID, '_wcpt_sponsor_street_address2',   true );
-               $city            = get_post_meta( $sponsor->ID, '_wcpt_sponsor_city',              true );
-               $state           = get_post_meta( $sponsor->ID, '_wcpt_sponsor_state',             true );
-               $zip_code        = get_post_meta( $sponsor->ID, '_wcpt_sponsor_zip_code',          true );
-               $country         = get_post_meta( $sponsor->ID, '_wcpt_sponsor_country',           true );
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+         $street_address1 = get_post_meta( $sponsor->ID, '_wcpt_sponsor_street_address1', true );
+               $street_address2 = get_post_meta( $sponsor->ID, '_wcpt_sponsor_street_address2', true );
+               $city            = get_post_meta( $sponsor->ID, '_wcpt_sponsor_city',            true );
+               $state           = get_post_meta( $sponsor->ID, '_wcpt_sponsor_state',           true );
+               $zip_code        = get_post_meta( $sponsor->ID, '_wcpt_sponsor_zip_code',        true );
+               $country         = get_post_meta( $sponsor->ID, '_wcpt_sponsor_country',         true );
</ins><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">                if ( $state === $this->get_sponsor_info_state_default_value() ) {
</span><span class="cx" style="display: block; padding: 0 10px">                        $state = '';
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -1810,23 +1895,26 @@
</span><span class="cx" style="display: block; padding: 0 10px">         * Fired when a post is saved, makes sure additional metadata is also updated.
</span><span class="cx" style="display: block; padding: 0 10px">         */
</span><span class="cx" style="display: block; padding: 0 10px">        function save_post_speaker( $post_id, $post ) {
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                if ( wp_is_post_revision( $post_id ) || $post->post_type != 'wcb_speaker' || ! current_user_can( 'edit_post', $post_id ) )
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+         if ( wp_is_post_revision( $post_id ) || $post->post_type != 'wcb_speaker' || ! current_user_can( 'edit_post', $post_id ) ) {
</ins><span class="cx" style="display: block; padding: 0 10px">                         return;
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                }
</ins><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">                if ( isset( $_POST['wcpt-meta-speaker-info'] ) && wp_verify_nonce( $_POST['wcpt-meta-speaker-info'], 'edit-speaker-info' ) ) {
</span><span class="cx" style="display: block; padding: 0 10px">                        $email          = sanitize_text_field( $_POST['wcpt-gravatar-email'] );
</span><span class="cx" style="display: block; padding: 0 10px">                        $wporg_username = sanitize_text_field( $_POST['wcpt-wporg-username'] );
</span><span class="cx" style="display: block; padding: 0 10px">                        $wporg_user     = wcorg_get_user_by_canonical_names( $wporg_username );
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                        if ( empty( $email ) )
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                 if ( empty( $email ) ) {
</ins><span class="cx" style="display: block; padding: 0 10px">                                 delete_post_meta( $post_id, '_wcb_speaker_email' );
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                        elseif ( $email && is_email( $email ) )
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                 } elseif ( $email && is_email( $email ) ) {
</ins><span class="cx" style="display: block; padding: 0 10px">                                 update_post_meta( $post_id, '_wcb_speaker_email', $email );
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                        }
</ins><span class="cx" style="display: block; padding: 0 10px"> 
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                        if ( ! $wporg_user )
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                 if ( ! $wporg_user ) {
</ins><span class="cx" style="display: block; padding: 0 10px">                                 delete_post_meta( $post_id, '_wcpt_user_id' );
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                        else
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                 } else {
</ins><span class="cx" style="display: block; padding: 0 10px">                                 update_post_meta( $post_id, '_wcpt_user_id', $wporg_user->ID );
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                        }
</ins><span class="cx" style="display: block; padding: 0 10px">                 }
</span><span class="cx" style="display: block; padding: 0 10px">        }
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -1834,17 +1922,19 @@
</span><span class="cx" style="display: block; padding: 0 10px">         * When an Organizer post is saved, update some meta data.
</span><span class="cx" style="display: block; padding: 0 10px">         */
</span><span class="cx" style="display: block; padding: 0 10px">        function save_post_organizer( $post_id, $post ) {
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                if ( wp_is_post_revision( $post_id ) || $post->post_type != 'wcb_organizer' || ! current_user_can( 'edit_post', $post_id ) )
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+         if ( wp_is_post_revision( $post_id ) || $post->post_type != 'wcb_organizer' || ! current_user_can( 'edit_post', $post_id ) ) {
</ins><span class="cx" style="display: block; padding: 0 10px">                         return;
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                }
</ins><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">                if ( isset( $_POST['wcpt-meta-organizer-info'] ) && wp_verify_nonce( $_POST['wcpt-meta-organizer-info'], 'edit-organizer-info' ) ) {
</span><span class="cx" style="display: block; padding: 0 10px">                        $wporg_username = sanitize_text_field( $_POST['wcpt-wporg-username'] );
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                        $wporg_user = wcorg_get_user_by_canonical_names( $wporg_username );
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                 $wporg_user     = wcorg_get_user_by_canonical_names( $wporg_username );
</ins><span class="cx" style="display: block; padding: 0 10px"> 
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                        if ( ! $wporg_user )
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                 if ( ! $wporg_user ) {
</ins><span class="cx" style="display: block; padding: 0 10px">                                 delete_post_meta( $post_id, '_wcpt_user_id' );
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                        else
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                 } else {
</ins><span class="cx" style="display: block; padding: 0 10px">                                 update_post_meta( $post_id, '_wcpt_user_id', $wporg_user->ID );
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                        }
</ins><span class="cx" style="display: block; padding: 0 10px">                 }
</span><span class="cx" style="display: block; padding: 0 10px">        }
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -1852,8 +1942,9 @@
</span><span class="cx" style="display: block; padding: 0 10px">         * Fired when a post is saved, updates additional sessions metadada.
</span><span class="cx" style="display: block; padding: 0 10px">         */
</span><span class="cx" style="display: block; padding: 0 10px">        function save_post_session( $post_id, $post ) {
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                if ( wp_is_post_revision( $post_id ) || $post->post_type != 'wcb_session' )
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+         if ( wp_is_post_revision( $post_id ) || $post->post_type != 'wcb_session' ) {
</ins><span class="cx" style="display: block; padding: 0 10px">                         return;
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                }
</ins><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">                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 ) ) {
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -1875,8 +1966,9 @@
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">                        // Update session type
</span><span class="cx" style="display: block; padding: 0 10px">                        $session_type = sanitize_text_field( $_POST['wcpt-session-type'] );
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                        if ( ! in_array( $session_type, array( 'session', 'custom' ) ) )
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                 if ( ! in_array( $session_type, array( 'session', 'custom' ) ) ) {
</ins><span class="cx" style="display: block; padding: 0 10px">                                 $session_type = 'session';
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                        }
</ins><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">                        update_post_meta( $post_id, '_wcpt_session_type', $session_type );
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -1894,15 +1986,17 @@
</span><span class="cx" style="display: block; padding: 0 10px">                $speakers_list = get_post_meta( $post_id, '_wcb_session_speakers', true );
</span><span class="cx" style="display: block; padding: 0 10px">                $speakers_list = explode( ',', $speakers_list );
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                if ( ! is_array( $speakers_list ) )
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+         if ( ! is_array( $speakers_list ) ) {
</ins><span class="cx" style="display: block; padding: 0 10px">                         $speakers_list = array();
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                }
</ins><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">                $speaker_ids = array();
</span><span class="cx" style="display: block; padding: 0 10px">                $speakers    = array_unique( array_map( 'trim', $speakers_list ) );
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">                foreach ( $speakers as $speaker_name ) {
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                        if ( empty( $speaker_name ) )
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                 if ( empty( $speaker_name ) ) {
</ins><span class="cx" style="display: block; padding: 0 10px">                                 continue;
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                        }
</ins><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">                        /*
</span><span class="cx" style="display: block; padding: 0 10px">                         * Look for speakers by their names.
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -1914,27 +2008,29 @@
</span><span class="cx" style="display: block; padding: 0 10px">                         * here to make it more forgiving.
</span><span class="cx" style="display: block; padding: 0 10px">                         */
</span><span class="cx" style="display: block; padding: 0 10px">                        $speaker = get_page_by_title( $speaker_name, OBJECT, 'wcb_speaker' );
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                        if ( $speaker )
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                 if ( $speaker ) {
</ins><span class="cx" style="display: block; padding: 0 10px">                                 $speaker_ids[] = $speaker->ID;
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                        }
</ins><span class="cx" style="display: block; padding: 0 10px">                 }
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">                // Add speaker IDs to post meta.
</span><span class="cx" style="display: block; padding: 0 10px">                $speaker_ids = array_unique( $speaker_ids );
</span><span class="cx" style="display: block; padding: 0 10px">                delete_post_meta( $post_id, '_wcpt_speaker_id' );
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                foreach ( $speaker_ids as $speaker_id )
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+         foreach ( $speaker_ids as $speaker_id ) {
</ins><span class="cx" style="display: block; padding: 0 10px">                         add_post_meta( $post_id, '_wcpt_speaker_id', $speaker_id );
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                }
</ins><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">                // Set the speaker as the author of the session post, so the single
</span><span class="cx" style="display: block; padding: 0 10px">                // view doesn't confuse users who see "posted by [organizer name]"
</span><span class="cx" style="display: block; padding: 0 10px">                foreach ( $speaker_ids as $speaker_post ) {
</span><span class="cx" style="display: block; padding: 0 10px">                        $wporg_user_id = get_post_meta( $speaker_post, '_wcpt_user_id', true );
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                        $user = get_user_by( 'id', $wporg_user_id );
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                 $user          = get_user_by( 'id', $wporg_user_id );
</ins><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">                        if ( $user ) {
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                                remove_action( 'save_post', array( $this, 'save_post_session' ), 10, 2 );       // avoid infinite recursion
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                         remove_action( 'save_post', array( $this, 'save_post_session' ), 10 );   // avoid infinite recursion
</ins><span class="cx" style="display: block; padding: 0 10px">                                 wp_update_post( array(
</span><span class="cx" style="display: block; padding: 0 10px">                                        'ID'          => $post_id,
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                                        'post_author' => $user->ID
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                                 'post_author' => $user->ID,
</ins><span class="cx" style="display: block; padding: 0 10px">                                 ) );
</span><span class="cx" style="display: block; padding: 0 10px">                                add_action( 'save_post', array( $this, 'save_post_session' ), 10, 2 );
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -1965,15 +2061,13 @@
</span><span class="cx" style="display: block; padding: 0 10px">                                $values['state'] = $this->get_sponsor_info_state_default_value();
</span><span class="cx" style="display: block; padding: 0 10px">                        }
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                        $values['website'] = esc_url_raw( filter_input( INPUT_POST, '_wcpt_sponsor_website' ) );
-                       // 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/
-
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                 $values['website']    = esc_url_raw( filter_input( INPUT_POST, '_wcpt_sponsor_website' ) );
+                               // 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/
</ins><span class="cx" style="display: block; padding: 0 10px">                         $values['first_name'] = ucfirst( $values['first_name'] );
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                        $values['last_name' ] = ucfirst( $values['last_name' ] );
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                 $values['last_name']  = ucfirst( $values['last_name'] );
+                       $values['agreement']  = filter_input( INPUT_POST, '_wcpt_sponsor_agreement', FILTER_SANITIZE_NUMBER_INT );
</ins><span class="cx" style="display: block; padding: 0 10px"> 
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                        $values['agreement'] = filter_input( INPUT_POST, '_wcpt_sponsor_agreement', FILTER_SANITIZE_NUMBER_INT );
-
-                       foreach( $values as $id => $value ) {
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                 foreach ( $values as $id => $value ) {
</ins><span class="cx" style="display: block; padding: 0 10px">                                 $meta_key = '_wcpt_sponsor_' . $id;
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">                                if ( empty( $value ) ) {
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -1991,138 +2085,150 @@
</span><span class="cx" style="display: block; padding: 0 10px">        function register_post_types() {
</span><span class="cx" style="display: block; padding: 0 10px">                // Speaker post type labels.
</span><span class="cx" style="display: block; padding: 0 10px">                $labels = array(
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                        'name'                  => __( 'Speakers', 'wordcamporg' ),
-                       'singular_name'         => __( 'Speaker', 'wordcamporg' ),
-                       'add_new'               => __( 'Add New', 'wordcamporg' ),
-                       'add_new_item'          => __( 'Create New Speaker', 'wordcamporg' ),
-                       'edit'                  => __( 'Edit', 'wordcamporg' ),
-                       'edit_item'             => __( 'Edit Speaker', 'wordcamporg' ),
-                       'new_item'              => __( 'New Speaker', 'wordcamporg' ),
-                       'view'                  => __( 'View Speaker', 'wordcamporg' ),
-                       'view_item'             => __( 'View Speaker', 'wordcamporg' ),
-                       'search_items'          => __( 'Search Speakers', 'wordcamporg' ),
-                       'not_found'             => __( 'No speakers found', 'wordcamporg' ),
-                       'not_found_in_trash'    => __( 'No speakers found in Trash', 'wordcamporg' ),
-                       'parent_item_colon'     => __( 'Parent Speaker:', 'wordcamporg' ),
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                 'name'               => __( 'Speakers',                   'wordcamporg' ),
+                       'singular_name'      => __( 'Speaker',                    'wordcamporg' ),
+                       'add_new'            => __( 'Add New',                    'wordcamporg' ),
+                       'add_new_item'       => __( 'Create New Speaker',         'wordcamporg' ),
+                       'edit'               => __( 'Edit',                       'wordcamporg' ),
+                       'edit_item'          => __( 'Edit Speaker',               'wordcamporg' ),
+                       'new_item'           => __( 'New Speaker',                'wordcamporg' ),
+                       'view'               => __( 'View Speaker',               'wordcamporg' ),
+                       'view_item'          => __( 'View Speaker',               'wordcamporg' ),
+                       'search_items'       => __( 'Search Speakers',            'wordcamporg' ),
+                       'not_found'          => __( 'No speakers found',          'wordcamporg' ),
+                       'not_found_in_trash' => __( 'No speakers found in Trash', 'wordcamporg' ),
+                       'parent_item_colon'  => __( 'Parent Speaker:',            'wordcamporg' ),
</ins><span class="cx" style="display: block; padding: 0 10px">                 );
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">                // Register speaker post type.
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                register_post_type( 'wcb_speaker', array(
-                       'labels'            => $labels,
-                       'rewrite'           => array( 'slug' => 'speaker', 'with_front' => true ),
-                       'supports'          => array( 'title', 'editor', 'author', 'revisions', 'comments', 'custom-fields' ),
-                       'menu_position'     => 20,
-                       'public'            => true,
-                       'show_ui'           => true,
-                       'can_export'        => true,
-                       'capability_type'   => 'post',
-                       'hierarchical'      => false,
-                       'query_var'         => true,
-                       'menu_icon'         => 'dashicons-megaphone',
-                       'show_in_rest'      => true,
-                       'rest_base'         => 'speakers',
-               ) );
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+         register_post_type(
+                       'wcb_speaker',
+                       array(
+                               'labels'          => $labels,
+                               'rewrite'         => array( 'slug' => 'speaker', 'with_front' => true, ),
+                               'supports'        => array( 'title', 'editor', 'author', 'revisions', 'comments', 'custom-fields' ),
+                               'menu_position'   => 20,
+                               'public'          => true,
+                               'show_ui'         => true,
+                               'can_export'      => true,
+                               'capability_type' => 'post',
+                               'hierarchical'    => false,
+                               'query_var'       => true,
+                               'menu_icon'       => 'dashicons-megaphone',
+                               'show_in_rest'    => true,
+                               'rest_base'       => 'speakers',
+                       )
+               );
</ins><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">                // Session post type labels.
</span><span class="cx" style="display: block; padding: 0 10px">                $labels = array(
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                        'name'                  => __( 'Sessions', 'wordcamporg' ),
-                       'singular_name'         => __( 'Session', 'wordcamporg' ),
-                       'add_new'               => __( 'Add New', 'wordcamporg' ),
-                       'add_new_item'          => __( 'Create New Session', 'wordcamporg' ),
-                       'edit'                  => __( 'Edit', 'wordcamporg' ),
-                       'edit_item'             => __( 'Edit Session', 'wordcamporg' ),
-                       'new_item'              => __( 'New Session', 'wordcamporg' ),
-                       'view'                  => __( 'View Session', 'wordcamporg' ),
-                       'view_item'             => __( 'View Session', 'wordcamporg' ),
-                       'search_items'          => __( 'Search Sessions', 'wordcamporg' ),
-                       'not_found'             => __( 'No sessions found', 'wordcamporg' ),
-                       'not_found_in_trash'    => __( 'No sessions found in Trash', 'wordcamporg' ),
-                       'parent_item_colon'     => __( 'Parent Session:', 'wordcamporg' ),
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                 'name'               => __( 'Sessions',                   'wordcamporg' ),
+                       'singular_name'      => __( 'Session',                    'wordcamporg' ),
+                       'add_new'            => __( 'Add New',                    'wordcamporg' ),
+                       'add_new_item'       => __( 'Create New Session',         'wordcamporg' ),
+                       'edit'               => __( 'Edit',                       'wordcamporg' ),
+                       'edit_item'          => __( 'Edit Session',               'wordcamporg' ),
+                       'new_item'           => __( 'New Session',                'wordcamporg' ),
+                       'view'               => __( 'View Session',               'wordcamporg' ),
+                       'view_item'          => __( 'View Session',               'wordcamporg' ),
+                       'search_items'       => __( 'Search Sessions',            'wordcamporg' ),
+                       'not_found'          => __( 'No sessions found',          'wordcamporg' ),
+                       'not_found_in_trash' => __( 'No sessions found in Trash', 'wordcamporg' ),
+                       'parent_item_colon'  => __( 'Parent Session:',            'wordcamporg' ),
</ins><span class="cx" style="display: block; padding: 0 10px">                 );
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">                // Register session post type.
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                register_post_type( 'wcb_session', array(
-                       'labels'            => $labels,
-                       'rewrite'           => array( 'slug' => 'session', 'with_front' => false ),
-                       'supports'          => array( 'title', 'editor', 'author', 'revisions', 'thumbnail', 'custom-fields' ),
-                       'menu_position'     => 21,
-                       'public'            => true,
-                       'show_ui'           => true,
-                       'can_export'        => true,
-                       'capability_type'   => 'post',
-                       'hierarchical'      => false,
-                       'query_var'         => true,
-                       'menu_icon'         => 'dashicons-schedule',
-                       'show_in_rest'      => true,
-                       'rest_base'         => 'sessions',
-               ) );
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+         register_post_type(
+                       'wcb_session',
+                       array(
+                               'labels'          => $labels,
+                               'rewrite'         => array( 'slug' => 'session', 'with_front' => false, ),
+                               'supports'        => array( 'title', 'editor', 'author', 'revisions', 'thumbnail', 'custom-fields' ),
+                               'menu_position'   => 21,
+                               'public'          => true,
+                               'show_ui'         => true,
+                               'can_export'      => true,
+                               'capability_type' => 'post',
+                               'hierarchical'    => false,
+                               'query_var'       => true,
+                               'menu_icon'       => 'dashicons-schedule',
+                               'show_in_rest'    => true,
+                               'rest_base'       => 'sessions',
+                       )
+               );
</ins><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">                // Sponsor post type labels.
</span><span class="cx" style="display: block; padding: 0 10px">                $labels = array(
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                        'name'                  => __( 'Sponsors', 'wordcamporg' ),
-                       'singular_name'         => __( 'Sponsor', 'wordcamporg' ),
-                       'add_new'               => __( 'Add New', 'wordcamporg' ),
-                       'add_new_item'          => __( 'Create New Sponsor', 'wordcamporg' ),
-                       'edit'                  => __( 'Edit', 'wordcamporg' ),
-                       'edit_item'             => __( 'Edit Sponsor', 'wordcamporg' ),
-                       'new_item'              => __( 'New Sponsor', 'wordcamporg' ),
-                       'view'                  => __( 'View Sponsor', 'wordcamporg' ),
-                       'view_item'             => __( 'View Sponsor', 'wordcamporg' ),
-                       'search_items'          => __( 'Search Sponsors', 'wordcamporg' ),
-                       'not_found'             => __( 'No sponsors found', 'wordcamporg' ),
-                       'not_found_in_trash'    => __( 'No sponsors found in Trash', 'wordcamporg' ),
-                       'parent_item_colon'     => __( 'Parent Sponsor:', 'wordcamporg' ),
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                 'name'               => __( 'Sponsors',                   'wordcamporg' ),
+                       'singular_name'      => __( 'Sponsor',                    'wordcamporg' ),
+                       'add_new'            => __( 'Add New',                    'wordcamporg' ),
+                       'add_new_item'       => __( 'Create New Sponsor',         'wordcamporg' ),
+                       'edit'               => __( 'Edit',                       'wordcamporg' ),
+                       'edit_item'          => __( 'Edit Sponsor',               'wordcamporg' ),
+                       'new_item'           => __( 'New Sponsor',                'wordcamporg' ),
+                       'view'               => __( 'View Sponsor',               'wordcamporg' ),
+                       'view_item'          => __( 'View Sponsor',               'wordcamporg' ),
+                       'search_items'       => __( 'Search Sponsors',            'wordcamporg' ),
+                       'not_found'          => __( 'No sponsors found',          'wordcamporg' ),
+                       'not_found_in_trash' => __( 'No sponsors found in Trash', 'wordcamporg' ),
+                       'parent_item_colon'  => __( 'Parent Sponsor:',            'wordcamporg' ),
</ins><span class="cx" style="display: block; padding: 0 10px">                 );
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">                // Register sponsor post type.
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                register_post_type( 'wcb_sponsor', array(
-                       'labels'            => $labels,
-                       'rewrite'           => array( 'slug' => 'sponsor', 'with_front' => false ),
-                       'supports'          => array( 'title', 'editor', 'revisions', 'thumbnail', 'custom-fields' ),
-                       'menu_position'     => 21,
-                       'public'            => true,
-                       'show_ui'           => true,
-                       'can_export'        => true,
-                       'capability_type'   => 'post',
-                       'hierarchical'      => false,
-                       'query_var'         => true,
-                       'menu_icon'         => 'dashicons-heart',
-                       'show_in_rest'      => true,
-                       'rest_base'         => 'sponsors',
-               ) );
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+         register_post_type(
+                       'wcb_sponsor',
+                       array(
+                               'labels'          => $labels,
+                               'rewrite'         => array( 'slug' => 'sponsor', 'with_front' => false, ),
+                               'supports'        => array( 'title', 'editor', 'revisions', 'thumbnail', 'custom-fields' ),
+                               'menu_position'   => 21,
+                               'public'          => true,
+                               'show_ui'         => true,
+                               'can_export'      => true,
+                               'capability_type' => 'post',
+                               'hierarchical'    => false,
+                               'query_var'       => true,
+                               'menu_icon'       => 'dashicons-heart',
+                               'show_in_rest'    => true,
+                               'rest_base'       => 'sponsors',
+                       )
+               );
</ins><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">                // Organizer post type labels.
</span><span class="cx" style="display: block; padding: 0 10px">                $labels = array(
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                        'name'                  => __( 'Organizers', 'wordcamporg' ),
-                       'singular_name'         => __( 'Organizer', 'wordcamporg' ),
-                       'add_new'               => __( 'Add New', 'wordcamporg' ),
-                       'add_new_item'          => __( 'Create New Organizer', 'wordcamporg' ),
-                       'edit'                  => __( 'Edit', 'wordcamporg' ),
-                       'edit_item'             => __( 'Edit Organizer', 'wordcamporg' ),
-                       'new_item'              => __( 'New Organizer', 'wordcamporg' ),
-                       'view'                  => __( 'View Organizer', 'wordcamporg' ),
-                       'view_item'             => __( 'View Organizer', 'wordcamporg' ),
-                       'search_items'          => __( 'Search Organizers', 'wordcamporg' ),
-                       'not_found'             => __( 'No organizers found', 'wordcamporg' ),
-                       'not_found_in_trash'    => __( 'No organizers found in Trash', 'wordcamporg' ),
-                       'parent_item_colon'     => __( 'Parent Organizer:', 'wordcamporg' ),
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                 'name'               => __( 'Organizers',                   'wordcamporg' ),
+                       'singular_name'      => __( 'Organizer',                    'wordcamporg' ),
+                       'add_new'            => __( 'Add New',                      'wordcamporg' ),
+                       'add_new_item'       => __( 'Create New Organizer',         'wordcamporg' ),
+                       'edit'               => __( 'Edit',                         'wordcamporg' ),
+                       'edit_item'          => __( 'Edit Organizer',               'wordcamporg' ),
+                       'new_item'           => __( 'New Organizer',                'wordcamporg' ),
+                       'view'               => __( 'View Organizer',               'wordcamporg' ),
+                       'view_item'          => __( 'View Organizer',               'wordcamporg' ),
+                       'search_items'       => __( 'Search Organizers',            'wordcamporg' ),
+                       'not_found'          => __( 'No organizers found',          'wordcamporg' ),
+                       'not_found_in_trash' => __( 'No organizers found in Trash', 'wordcamporg' ),
+                       'parent_item_colon'  => __( 'Parent Organizer:',            'wordcamporg' ),
</ins><span class="cx" style="display: block; padding: 0 10px">                 );
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">                // Register organizer post type.
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                register_post_type( 'wcb_organizer', array(
-                       'labels'            => $labels,
-                       'rewrite'           => array( 'slug' => 'organizer', 'with_front' => false ),
-                       'supports'          => array( 'title', 'editor', 'revisions' ),
-                       'menu_position'     => 22,
-                       'public'            => false,
-                               // todo public or publicly_queryable = true, so consistent with others? at the very least set show_in_json = true
-                       'show_ui'           => true,
-                       'can_export'        => true,
-                       'capability_type'   => 'post',
-                       'hierarchical'      => false,
-                       'query_var'         => true,
-                       'menu_icon'         => 'dashicons-groups',
-               ) );
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+         register_post_type(
+                       'wcb_organizer',
+                       array(
+                               'labels'          => $labels,
+                               'rewrite'         => array( 'slug' => 'organizer', 'with_front' => false, ),
+                               'supports'        => array( 'title', 'editor', 'revisions' ),
+                               'menu_position'   => 22,
+                               'public'          => false,
+                                       // todo public or publicly_queryable = true, so consistent with others? at the very least set show_in_json = true
+                               'show_ui'         => true,
+                               'can_export'      => true,
+                               'capability_type' => 'post',
+                               'hierarchical'    => false,
+                               'query_var'       => true,
+                               'menu_icon'       => 'dashicons-groups',
+                       )
+               );
</ins><span class="cx" style="display: block; padding: 0 10px">         }
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">        /**
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -2131,78 +2237,90 @@
</span><span class="cx" style="display: block; padding: 0 10px">        function register_taxonomies() {
</span><span class="cx" style="display: block; padding: 0 10px">                // Labels for tracks.
</span><span class="cx" style="display: block; padding: 0 10px">                $labels = array(
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                        'name'              => __( 'Tracks', 'wordcamporg' ),
-                       'singular_name'     => __( 'Track', 'wordcamporg' ),
-                       'search_items'      => __( 'Search Tracks', 'wordcamporg' ),
-                       'popular_items'     => __( 'Popular Tracks','wordcamporg' ),
-                       'all_items'         => __( 'All Tracks', 'wordcamporg' ),
-                       'edit_item'         => __( 'Edit Track', 'wordcamporg' ),
-                       'update_item'       => __( 'Update Track', 'wordcamporg' ),
-                       'add_new_item'      => __( 'Add Track', 'wordcamporg' ),
-                       'new_item_name'     => __( 'New Track', 'wordcamporg' ),
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                 'name'          => __( 'Tracks',         'wordcamporg' ),
+                       'singular_name' => __( 'Track',          'wordcamporg' ),
+                       'search_items'  => __( 'Search Tracks',  'wordcamporg' ),
+                       'popular_items' => __( 'Popular Tracks', 'wordcamporg' ),
+                       'all_items'     => __( 'All Tracks',     'wordcamporg' ),
+                       'edit_item'     => __( 'Edit Track',     'wordcamporg' ),
+                       'update_item'   => __( 'Update Track',   'wordcamporg' ),
+                       'add_new_item'  => __( 'Add Track',      'wordcamporg' ),
+                       'new_item_name' => __( 'New Track',      'wordcamporg' ),
</ins><span class="cx" style="display: block; padding: 0 10px">                 );
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">                // Register the Tracks taxonomy.
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                register_taxonomy( 'wcb_track', 'wcb_session', array(
-                       'labels'       => $labels,
-                       'rewrite'      => array( 'slug' => 'track' ),
-                       'query_var'    => 'track',
-                       'hierarchical' => true,
-                       'public'       => true,
-                       'show_ui'      => true,
-                       'show_in_rest' => true,
-                       'rest_base'    => 'session_track',
-               ) );
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+         register_taxonomy(
+                       'wcb_track',
+                       'wcb_session',
+                       array(
+                               'labels'       => $labels,
+                               'rewrite'      => array( 'slug' => 'track' ),
+                               'query_var'    => 'track',
+                               'hierarchical' => true,
+                               'public'       => true,
+                               'show_ui'      => true,
+                               'show_in_rest' => true,
+                               'rest_base'    => 'session_track',
+                       )
+               );
</ins><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">                // Labels for categories.
</span><span class="cx" style="display: block; padding: 0 10px">                $labels = array(
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                        'name'              => __( 'Categories', 'wordcamporg' ),
-                       'singular_name'     => __( 'Category', 'wordcamporg' ),
-                       'search_items'      => __( 'Search Categories', 'wordcamporg' ),
-                       'popular_items'     => __( 'Popular Categories','wordcamporg' ),
-                       'all_items'         => __( 'All Categories', 'wordcamporg' ),
-                       'edit_item'         => __( 'Edit Category', 'wordcamporg' ),
-                       'update_item'       => __( 'Update Category', 'wordcamporg' ),
-                       'add_new_item'      => __( 'Add Category', 'wordcamporg' ),
-                       'new_item_name'     => __( 'New Category', 'wordcamporg' ),
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                 'name'          => __( 'Categories',         'wordcamporg' ),
+                       'singular_name' => __( 'Category',           'wordcamporg' ),
+                       'search_items'  => __( 'Search Categories',  'wordcamporg' ),
+                       'popular_items' => __( 'Popular Categories', 'wordcamporg' ),
+                       'all_items'     => __( 'All Categories',     'wordcamporg' ),
+                       'edit_item'     => __( 'Edit Category',      'wordcamporg' ),
+                       'update_item'   => __( 'Update Category',    'wordcamporg' ),
+                       'add_new_item'  => __( 'Add Category',       'wordcamporg' ),
+                       'new_item_name' => __( 'New Category',       'wordcamporg' ),
</ins><span class="cx" style="display: block; padding: 0 10px">                 );
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">                // Register the Categories taxonomy.
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                register_taxonomy( 'wcb_session_category', 'wcb_session', array(
-                       'labels'       => $labels,
-                       'rewrite'      => array( 'slug' => 'session-category' ),
-                       'query_var'    => 'session_category',
-                       'hierarchical' => true,
-                       'public'       => true,
-                       'show_ui'      => true,
-                       'show_in_rest' => true,
-                       'rest_base'    => 'session_category',
-               ) );
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+         register_taxonomy(
+                       'wcb_session_category',
+                       'wcb_session',
+                       array(
+                               'labels'       => $labels,
+                               'rewrite'      => array( 'slug' => 'session-category' ),
+                               'query_var'    => 'session_category',
+                               'hierarchical' => true,
+                               'public'       => true,
+                               'show_ui'      => true,
+                               'show_in_rest' => true,
+                               'rest_base'    => 'session_category',
+                       )
+               );
</ins><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">                // Labels for sponsor levels.
</span><span class="cx" style="display: block; padding: 0 10px">                $labels = array(
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                        'name'              => __( 'Sponsor Levels', 'wordcamporg' ),
-                       'singular_name'     => __( 'Sponsor Level', 'wordcamporg' ),
-                       'search_items'      => __( 'Search Sponsor Levels', 'wordcamporg' ),
-                       'popular_items'     => __( 'Popular Sponsor Levels', 'wordcamporg' ),
-                       'all_items'         => __( 'All Sponsor Levels', 'wordcamporg' ),
-                       'edit_item'         => __( 'Edit Sponsor Level', 'wordcamporg' ),
-                       'update_item'       => __( 'Update Sponsor Level', 'wordcamporg' ),
-                       'add_new_item'      => __( 'Add Sponsor Level', 'wordcamporg' ),
-                       'new_item_name'     => __( 'New Sponsor Level', 'wordcamporg' ),
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                 'name'          => __( 'Sponsor Levels',         'wordcamporg' ),
+                       'singular_name' => __( 'Sponsor Level',          'wordcamporg' ),
+                       'search_items'  => __( 'Search Sponsor Levels',  'wordcamporg' ),
+                       'popular_items' => __( 'Popular Sponsor Levels', 'wordcamporg' ),
+                       'all_items'     => __( 'All Sponsor Levels',     'wordcamporg' ),
+                       'edit_item'     => __( 'Edit Sponsor Level',     'wordcamporg' ),
+                       'update_item'   => __( 'Update Sponsor Level',   'wordcamporg' ),
+                       'add_new_item'  => __( 'Add Sponsor Level',      'wordcamporg' ),
+                       'new_item_name' => __( 'New Sponsor Level',      'wordcamporg' ),
</ins><span class="cx" style="display: block; padding: 0 10px">                 );
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">                // Register sponsor level taxonomy
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                register_taxonomy( 'wcb_sponsor_level', 'wcb_sponsor', array(
-                       'labels'       => $labels,
-                       'rewrite'      => array( 'slug' => 'sponsor_level' ),
-                       'query_var'    => 'sponsor_level',
-                       'hierarchical' => true,
-                       'public'       => true,
-                       'show_ui'      => true,
-                       'show_in_rest' => true,
-                       'rest_base'    => 'sponsor_level',
-               ) );
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+         register_taxonomy(
+                       'wcb_sponsor_level',
+                       'wcb_sponsor',
+                       array(
+                               'labels'       => $labels,
+                               'rewrite'      => array( 'slug' => 'sponsor_level' ),
+                               'query_var'    => 'sponsor_level',
+                               'hierarchical' => true,
+                               'public'       => true,
+                               'show_ui'      => true,
+                               'show_in_rest' => true,
+                               'rest_base'    => 'sponsor_level',
+                       )
+               );
</ins><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">                // Labels for organizer teams.
</span><span class="cx" style="display: block; padding: 0 10px">                $labels = array(
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -2281,7 +2399,7 @@
</span><span class="cx" style="display: block; padding: 0 10px">                        case 'manage_wcb_speaker_posts_columns':
</span><span class="cx" style="display: block; padding: 0 10px">                                $original_columns = $columns;
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                                $columns =  array_slice( $original_columns, 0, 1, true );
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                         $columns  = array_slice( $original_columns, 0, 1, true );
</ins><span class="cx" style="display: block; padding: 0 10px">                                 $columns += array( 'wcb_speaker_avatar' => __( 'Avatar', 'wordcamporg' ) );
</span><span class="cx" style="display: block; padding: 0 10px">                                $columns += array_slice( $original_columns, 1, 1, true );
</span><span class="cx" style="display: block; padding: 0 10px">                                $columns += array(
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -2294,7 +2412,7 @@
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">                        case 'manage_wcb_session_posts_columns':
</span><span class="cx" style="display: block; padding: 0 10px">                                $columns = array_slice( $columns, 0, 2, true ) + array( 'wcb_session_speakers' => __( 'Speakers', 'wordcamporg' ) ) + array_slice( $columns, 2, null, true );
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                                $columns = array_slice( $columns, 0, 1, true ) + array( 'wcb_session_time'     => __( 'Time', 'wordcamporg' ) )     + array_slice( $columns, 1, null, true );
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                         $columns = array_slice( $columns, 0, 1, true ) + array( 'wcb_session_time'     => __( 'Time',     'wordcamporg' ) ) + array_slice( $columns, 1, null, true );
</ins><span class="cx" style="display: block; padding: 0 10px">                                 break;
</span><span class="cx" style="display: block; padding: 0 10px">                        default:
</span><span class="cx" style="display: block; padding: 0 10px">                }
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -2334,20 +2452,23 @@
</span><span class="cx" style="display: block; padding: 0 10px">                                break;
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">                        case 'wcb_session_speakers':
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                                $speakers = array();
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                         $speakers     = array();
</ins><span class="cx" style="display: block; padding: 0 10px">                                 $speakers_ids = array_map( 'absint', (array) get_post_meta( $post_id, '_wcpt_speaker_id' ) );
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+
</ins><span class="cx" style="display: block; padding: 0 10px">                                 if ( ! empty( $speakers_ids ) ) {
</span><span class="cx" style="display: block; padding: 0 10px">                                        $speakers = get_posts( array(
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                                                'post_type' => 'wcb_speaker',
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                                         'post_type'      => 'wcb_speaker',
</ins><span class="cx" style="display: block; padding: 0 10px">                                                 'posts_per_page' => -1,
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                                                'post__in' => $speakers_ids,
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                                         'post__in'       => $speakers_ids,
</ins><span class="cx" style="display: block; padding: 0 10px">                                         ) );
</span><span class="cx" style="display: block; padding: 0 10px">                                }
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">                                $output = array();
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+
</ins><span class="cx" style="display: block; padding: 0 10px">                                 foreach ( $speakers as $speaker ) {
</span><span class="cx" style="display: block; padding: 0 10px">                                        $output[] = sprintf( '<a href="%s">%s</a>', esc_url( get_edit_post_link( $speaker->ID ) ), esc_html( apply_filters( 'the_title', $speaker->post_title ) ) );
</span><span class="cx" style="display: block; padding: 0 10px">                                }
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+
</ins><span class="cx" style="display: block; padding: 0 10px">                                 echo implode( ', ', $output );
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">                                break;
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -2368,8 +2489,9 @@
</span><span class="cx" style="display: block; padding: 0 10px">        function manage_sortable_columns( $sortable ) {
</span><span class="cx" style="display: block; padding: 0 10px">                $current_filter = current_filter();
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                if ( 'manage_edit-wcb_session_sortable_columns' == $current_filter )
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+         if ( 'manage_edit-wcb_session_sortable_columns' == $current_filter ) {
</ins><span class="cx" style="display: block; padding: 0 10px">                         $sortable['wcb_session_time'] = '_wcpt_session_time';
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                }
</ins><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">                return $sortable;
</span><span class="cx" style="display: block; padding: 0 10px">        }
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -2380,17 +2502,20 @@
</span><span class="cx" style="display: block; padding: 0 10px">        function display_post_states( $states ) {
</span><span class="cx" style="display: block; padding: 0 10px">                $post = get_post();
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                if ( 'wcb_session' != $post->post_type )
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+         if ( 'wcb_session' != $post->post_type ) {
</ins><span class="cx" style="display: block; padding: 0 10px">                         return $states;
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                }
</ins><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">                $session_type = get_post_meta( $post->ID, '_wcpt_session_type', true );
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                if ( ! in_array( $session_type, array( 'session', 'custom' ) ) )
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+         if ( ! in_array( $session_type, array( 'session', 'custom' ) ) ) {
</ins><span class="cx" style="display: block; padding: 0 10px">                         $session_type = 'session';
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                }
</ins><span class="cx" style="display: block; padding: 0 10px"> 
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                if ( 'session' == $session_type )
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+         if ( 'session' == $session_type ) {
</ins><span class="cx" style="display: block; padding: 0 10px">                         $states['wcpt-session-type'] = __( 'Session', 'wordcamporg' );
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                elseif ( 'custom' == $session_type )
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+         } elseif ( 'custom' == $session_type ) {
</ins><span class="cx" style="display: block; padding: 0 10px">                         $states['wcpt-session-type'] = __( 'Custom', 'wordcamporg' );
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                }
</ins><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">                return $states;
</span><span class="cx" style="display: block; padding: 0 10px">        }
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -2458,12 +2583,13 @@
</span><span class="cx" style="display: block; padding: 0 10px">         */
</span><span class="cx" style="display: block; padding: 0 10px">        public function default_comment_ping_status( $status ) {
</span><span class="cx" style="display: block; padding: 0 10px">                $screen = get_current_screen();
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                if ( ! empty( $screen->post_type ) && $screen->post_type == 'wcb_speaker' )
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+         if ( ! empty( $screen->post_type ) && $screen->post_type == 'wcb_speaker' ) {
</ins><span class="cx" style="display: block; padding: 0 10px">                         $status = 'closed';
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                }
</ins><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">                return $status;
</span><span class="cx" style="display: block; padding: 0 10px">        }
</span><span class="cx" style="display: block; padding: 0 10px"> }
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px"> // Load the plugin class.
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-$GLOBALS['wcpt_plugin'] = new WordCamp_Post_Types_Plugin;
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+$GLOBALS['wcpt_plugin'] = new WordCamp_Post_Types_Plugin();
</ins></span></pre>
</div>
</div>

</body>
</html>