WordPress.org

Making WordPress.org

Ticket #1859: 1859.diff

File 1859.diff, 3.7 KB (added by DrewAPicture, 4 years ago)
  • wordcamp.org/public_html/wp-content/plugins/wc-post-types/wc-post-types.php

     
    428428                                <div class="wcorg-organizer">
    429429                                        <h2><?php the_title(); ?></h2>
    430430                                        <div class="wcorg-organizer-description">
    431                                                 <?php /* Unlike speakers, organizers don't have a Gravatar e-mail field, so we pass the linked user ID to get_avatar */ ?>
    432                                                 <?php echo ( $attr['show_avatars'] ) ? get_avatar( absint( get_post_meta( get_the_ID(), '_wcpt_user_id', true ) ), absint( $attr['avatar_size'] ) ) : ''; ?>
     431                                                <?php echo ( $attr['show_avatars'] ) ? get_avatar( get_post_meta( get_the_ID(), '_wcb_organizer_email', true ), absint( $attr['avatar_size'] ) ) : ''; ?>
    433432                                                <?php the_content(); ?>
    434433                                        </div>
    435434                                </div>
     
    14191418         */
    14201419        function metabox_organizer_info() {
    14211420                global $post;
     1421                $email = get_post_meta( $post->ID, '_wcb_organizer_email', true );
    14221422
    14231423                $wporg_username = '';
    14241424                $user_id        = get_post_meta( $post->ID, '_wcpt_user_id', true );
     
    14311431                <?php wp_nonce_field( 'edit-organizer-info', 'wcpt-meta-organizer-info' ); ?>
    14321432
    14331433                <p>
     1434                        <label for="wcpt-gravatar-email"><?php _e( 'Gravatar Email:', 'wordcamporg' ); ?></label>
     1435                        <input type="text" class="widefat" id="wcpt-gravatar-email" name="wcpt-gravatar-email" value="<?php echo esc_attr( $email ); ?>" />
     1436                </p>
     1437
     1438                <p>
    14341439                        <label for="wcpt-wporg-username"><?php _e( 'WordPress.org Username:', 'wordcamporg' ); ?></label>
    14351440                        <input type="text" class="widefat" id="wcpt-wporg-username" name="wcpt-wporg-username" value="<?php echo esc_attr( $wporg_username ); ?>" />
    14361441                </p>
     
    16721677                        return;
    16731678
    16741679                if ( isset( $_POST['wcpt-meta-organizer-info'] ) && wp_verify_nonce( $_POST['wcpt-meta-organizer-info'], 'edit-organizer-info' ) ) {
     1680                        $email          = sanitize_text_field( $_POST['wcpt-gravatar-email'] );
    16751681                        $wporg_username = sanitize_text_field( $_POST['wcpt-wporg-username'] );
    16761682                        $wporg_user = wcorg_get_user_by_canonical_names( $wporg_username );
    16771683
     1684                        if ( empty( $email ) )
     1685                                delete_post_meta( $post_id, '_wcb_organizer_email' );
     1686                        elseif ( $email && is_email( $email ) )
     1687                                update_post_meta( $post_id, '_wcb_organizer_email', $email );
     1688
    16781689                        if ( ! $wporg_user )
    16791690                                delete_post_meta( $post_id, '_wcpt_user_id' );
    16801691                        else
     
    20092020
    20102021                switch ( $current_filter ) {
    20112022                        case 'manage_wcb_organizer_posts_columns':
     2023                                $original_columns = $columns;
     2024
    20122025                                // Insert at offset 1, that's right after the checkbox.
    2013                                 $columns = array_slice( $columns, 0, 1, true ) + array( 'wcb_organizer_avatar' => __( 'Avatar', 'wordcamporg' ) )   + array_slice( $columns, 1, null, true );
     2026                                $columns = array_slice( $original_columns, 0, 1, true );
     2027                                $columns += array( 'wcb_organizer_avatar' => __( 'Avatar', 'wordcamporg' ) );
     2028                                $columns += array_slice( $original_columns, 1, 1, true );
     2029                                $columns += array( 'wcb_organizer_email' => __( 'Gravatar Email', 'wordcamporg' );
     2030                                $columns += array_slice( $original_columns, 1, null, true );
    20142031                                break;
    20152032
    20162033                        case 'manage_wcb_speaker_posts_columns':
     
    20502067                                edit_post_link( get_avatar( absint( get_post_meta( get_the_ID(), '_wcpt_user_id', true ) ), 32 ) );
    20512068                                break;
    20522069
     2070                        case 'wcb_organizer_email':
     2071                                echo esc_html( get_post_meta( get_the_ID(), '_wcb_organizer_email', true ) );
     2072                                break;
     2073
    20532074                        case 'wcb_speaker_avatar':
    20542075                                edit_post_link( get_avatar( get_post_meta( get_the_ID(), '_wcb_speaker_email', true ), 32 ) );
    20552076                                break;