Making WordPress.org

Ticket #659: 659.diff

File 659.diff, 6.7 KB (added by BrashRebel, 11 years ago)

Changes made to wc-post-types.php plugin for WordCamp sites.

  • plugins/wc-post-types/wc-post-types.php

    From 718af4c3a92b7fc8b7150cae60f379b5afd7a80e Mon Sep 17 00:00:00 2001
    From: Kyle Maurer <kyle@realbigmarketing.com>
    Date: Tue, 4 Nov 2014 20:29:46 -0500
    Subject: [PATCH] Making good progress on adding new fields for speakers.
     Fields are created and work. Somehow created a bug which prevents .org
     username from working. Also haven't gotten the links displaying in the
     shortcode output yet.
    
    ---
     plugins/wc-post-types/wc-post-types.php | 37 +++++++++++++++++++++++++++++++++
     1 file changed, 37 insertions(+)
    
    diff --git a/plugins/wc-post-types/wc-post-types.php b/plugins/wc-post-types/wc-post-types.php
    index f06bf81..6b8aac7 100755
    a b class WordCamp_Post_Types_Plugin { 
    256256                // Prepare the shortcode arguments
    257257                $attr = shortcode_atts( array(
    258258                        'show_avatars' => true,
     259                        'show_links' => true,
    259260                        'avatar_size' => 100,
    260261                        'posts_per_page' => -1,
    261262                        'orderby' => 'date',
    class WordCamp_Post_Types_Plugin { 
    352353                                                        $speaker_classes[] = sanitize_html_class( 'wcorg-track-' . $track );
    353354                                                }
    354355                                        }
     356
     357                                        // Should we output links?
     358                                        if ( $attr['show_links'] != false ) {
     359                                                $website = get_post_meta( $post->ID, '_wcpt_speaker_website', true );
     360                                                $website = ( $website != '' ? '<a href="' . $website . '">Website</a>' : '' );
     361                                                $twitter  = get_post_meta( $post->ID, '_wcpt_speaker_twitter', true );
     362                                                $twitter = ( $twitter != '' ? '<a href="' . $twitter . '">Twitter</a>' : '' );
     363                                                $spacer = ( $website == '' || $twitter == '' ? '' : ' | ' );
     364
     365                                                $links = '<p>' . $website . $spacer . $twitter . '</p>';
     366                                        } else {
     367                                                $links = '';
     368                                        }
    355369                                ?>
    356370
    357371                                <!-- Organizers note: The id attribute is deprecated and only remains for backwards compatibility, please use the corresponding class to target individual speakers -->
    class WordCamp_Post_Types_Plugin { 
    368382                                        <div class="wcorg-speaker-description">
    369383                                                <?php echo ( $attr['show_avatars'] ) ? get_avatar( get_post_meta( get_the_ID(), '_wcb_speaker_email', true ), absint( $attr['avatar_size'] ) ) : ''; ?>
    370384                                                <?php the_content(); ?>
     385                                                <?php echo $links; ?>
    371386                                        </div>
    372387                                </div><!-- .wcorg-speaker -->
    373388
    class WordCamp_Post_Types_Plugin { 
    12321247        function metabox_speaker_info() {
    12331248                global $post;
    12341249                $email = get_post_meta( $post->ID, '_wcb_speaker_email', true );
     1250                $twitter = get_post_meta( $post->ID, '_wcb_speaker_twitter', true );
     1251                $website = get_post_meta( $post->ID, '_wcb_speaker_website', true );
    12351252
    12361253                $wporg_username = '';
    12371254                $user_id = get_post_meta( $post->ID, '_wcpt_user_id', true );
    class WordCamp_Post_Types_Plugin { 
    12491266                        <label for="wcpt-wporg-username"><?php _e( 'WordPress.org Username:', 'wordcamporg' ); ?></label>
    12501267                        <input type="text" class="widefat" id="wcpt-wporg-username" name="wcpt-wporg-username" value="<?php echo esc_attr( $wporg_username ); ?>" />
    12511268                </p>
     1269                <p>
     1270                        <label for="wcpt-twitter"><?php _e( 'Twitter URL:', 'wordcamporg' ); ?></label>
     1271                        <input type="text" class="widefat" id="wcpt-twitter" name="wcpt-twitter" value="<?php echo esc_url( $twitter ); ?>" />
     1272                </p>
     1273                <p>
     1274                        <label for="wcpt-website"><?php _e( 'Website:', 'wordcamporg' ); ?></label>
     1275                        <input type="text" class="widefat" id="wcpt-website" name="wcpt-website" value="<?php echo esc_url( $website ); ?>" />
     1276                </p>
    12521277                <?php
    12531278        }
    12541279
    class WordCamp_Post_Types_Plugin { 
    14001425
    14011426                if ( isset( $_POST['wcpt-meta-speaker-info'] ) && wp_verify_nonce( $_POST['wcpt-meta-speaker-info'], 'edit-speaker-info' ) ) {
    14021427                        $email = sanitize_text_field( $_POST['wcpt-gravatar-email'] );
     1428                        $twitter = sanitize_text_field( $_POST['wcpt-twitter'] );
     1429                        $website = sanitize_text_field( $_POST['wcpt-website'] );
    14031430                        $wporg_username = sanitize_text_field( $_POST['wcpt-wporg-username'] );
    14041431                        $wporg_user = $this->get_wporg_user( $wporg_username );
    14051432
    class WordCamp_Post_Types_Plugin { 
    14081435                        elseif ( $email && is_email( $email ) )
    14091436                                update_post_meta( $post_id, '_wcb_speaker_email', $email );
    14101437
     1438                        if ( empty( $twitter ) )
     1439                                delete_post_meta( $post_id, '_wcb_speaker_twitter' );
     1440                        elseif ( $twitter )
     1441                                update_post_meta( $post_id, '_wcb_speaker_twitter', $twitter );
     1442
     1443                        if ( empty( $website ) )
     1444                                delete_post_meta( $post_id, '_wcb_speaker_website' );
     1445                        elseif ( $website )
     1446                                update_post_meta( $post_id, '_wcb_speaker_website', $website );
     1447
    14111448                        if ( ! $wporg_user )
    14121449                                delete_post_meta( $post_id, '_wcpt_user_id' );
    14131450                        else
  • plugins/wc-post-types/wc-post-types.php

    -- 
    1.8.4.2
    
    From 94e072893685b9a86ef87ec19c5fa60e1ac9fb45 Mon Sep 17 00:00:00 2001
    From: Kyle Maurer <kyle@realbigmarketing.com>
    Date: Tue, 4 Nov 2014 20:53:28 -0500
    Subject: [PATCH] Discovered there was no bug in the .org username. Also got
     the links to website and Twitter to output in the speakers shortcode. I was
     just using the wrong meta field name. Also added strpos() to verify Twitter
     link is a Twitter link.
    
    ---
     plugins/wc-post-types/wc-post-types.php | 12 ++++++------
     1 file changed, 6 insertions(+), 6 deletions(-)
    
    diff --git a/plugins/wc-post-types/wc-post-types.php b/plugins/wc-post-types/wc-post-types.php
    index 6b8aac7..4e98fea 100755
    a b class WordCamp_Post_Types_Plugin { 
    356356
    357357                                        // Should we output links?
    358358                                        if ( $attr['show_links'] != false ) {
    359                                                 $website = get_post_meta( $post->ID, '_wcpt_speaker_website', true );
    360                                                 $website = ( $website != '' ? '<a href="' . $website . '">Website</a>' : '' );
    361                                                 $twitter  = get_post_meta( $post->ID, '_wcpt_speaker_twitter', true );
    362                                                 $twitter = ( $twitter != '' ? '<a href="' . $twitter . '">Twitter</a>' : '' );
     359                                                $website = get_post_meta( $post->ID, '_wcb_speaker_website', true );
     360                                                $website = ( $website ? '<a href="' . $website . '">Website</a>' : '' );
     361                                                $twitter  = get_post_meta( $post->ID, '_wcb_speaker_twitter', true );
     362                                                $twitter = ( $twitter ? '<a href="' . $twitter . '">Twitter</a>' : '' );
    363363                                                $spacer = ( $website == '' || $twitter == '' ? '' : ' | ' );
    364364
    365                                                 $links = '<p>' . $website . $spacer . $twitter . '</p>';
     365                                                $links = '<p class="speaker-links">' . $website . $spacer . $twitter . '</p>';
    366366                                        } else {
    367367                                                $links = '';
    368368                                        }
    class WordCamp_Post_Types_Plugin { 
    14351435                        elseif ( $email && is_email( $email ) )
    14361436                                update_post_meta( $post_id, '_wcb_speaker_email', $email );
    14371437
    1438                         if ( empty( $twitter ) )
     1438                        if ( empty( $twitter ) || strpos( $twitter, 'twitter.com/' ) == false )
    14391439                                delete_post_meta( $post_id, '_wcb_speaker_twitter' );
    14401440                        elseif ( $twitter )
    14411441                                update_post_meta( $post_id, '_wcb_speaker_twitter', $twitter );