Making WordPress.org


Ignore:
Timestamp:
05/14/2015 10:53:59 PM (11 years ago)
Author:
iandunn
Message:

WordCamp Post Types: Collect and display URLs for session slides and videos.

Fixes #508
Props BrashRebel

File:
1 edited

Legend:

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

    r1540 r1573  
    952952                                        $session_meta = '';
    953953                                        $speakers_avatars = '';
     954                                        $links            = array();
    954955
    955956                                        // Fetch speakers associated with this session.
     
    10091010                                                        $session_meta = sprintf( '<p class="wcpt-session-meta">%s</p>', $session_meta );
    10101011                                        }
     1012
     1013                                        // Gather data for list of links
     1014                                        if ( $url = get_post_meta( $post->ID, '_wcpt_session_slides', true ) ) {
     1015                                                $links['slides'] = array(
     1016                                                        'url'   => $url,
     1017                                                        'label' => __( 'Slides', 'wordcamporg' ),
     1018                                                );
     1019                                        }
     1020
     1021                                        if ( $url = get_post_meta( $post->ID, '_wcpt_session_video', true ) ) {
     1022                                                $links['video'] = array(
     1023                                                        'url'   => $url,
     1024                                                        'label' => __( 'Video', 'wordcamporg' ),
     1025                                                );
     1026                                        }
     1027
    10111028                                ?>
    10121029
     
    10181035                                                <?php echo $speakers_avatars; ?>
    10191036                                                <?php the_content(); ?>
     1037
     1038                                                <?php if ( $links ) : ?>
     1039                                                        <ul class="wcorg-session-links">
     1040                                                                <?php foreach( $links as $link ) : ?>
     1041                                                                        <li>
     1042                                                                                <a href="<?php echo esc_url( $link['url'] ); ?>">
     1043                                                                                        <?php echo esc_html( $link['label'] ); ?>
     1044                                                                                </a>
     1045                                                                        </li>
     1046                                                                <?php endforeach; ?>
     1047                                                        </ul>
     1048                                                <?php endif; ?>
    10201049                                        </div>
    10211050                                </div>
     
    12771306                add_meta_box( 'organizer-info', __( 'Organizer Info', 'wordcamporg'  ), array( $this, 'metabox_organizer_info' ), 'wcb_organizer', 'side' );
    12781307                add_meta_box( 'speakers-list',  __( 'Speakers',       'wordcamporg'  ), array( $this, 'metabox_speakers_list'  ), 'wcb_session',   'side' );
    1279                 add_meta_box( 'session-info',   __( 'Session Info',   'wordcamporg'  ), array( $this, 'metabox_session_info'   ), 'wcb_session',   'side' );
     1308                add_meta_box( 'session-info',   __( 'Session Info',   'wordcamporg'  ), array( $this, 'metabox_session_info'   ), 'wcb_session',   'normal' );
    12801309                add_meta_box( 'sponsor-info',   __( 'Sponsor Info',   'wordcampbase' ), array( $this, 'metabox_sponsor_info'   ), 'wcb_sponsor',   'side' );
    12811310        }
     
    14151444                $session_meridiem = ( $session_time ) ? date( 'a', $session_time )     : 'am';
    14161445                $session_type     = get_post_meta( $post->ID, '_wcpt_session_type', true );
     1446                $session_slides   = get_post_meta( $post->ID, '_wcpt_session_slides', true );
     1447                $session_video    = get_post_meta( $post->ID, '_wcpt_session_video',  true );
    14171448                ?>
    14181449
     
    14541485                </p>
    14551486
     1487                <p>
     1488                        <label for="wcpt-session-slides"><?php _e( 'Slides URL:', 'wordcamporg' ); ?></label>
     1489                        <input type="text" class="widefat" id="wcpt-session-slides" name="wcpt-session-slides" value="<?php echo esc_url( $session_slides ); ?>" />
     1490                </p>
     1491
     1492                <p>
     1493                        <label for="wcpt-session-video"><?php _e( 'WordPress.TV URL:', 'wordcamporg' ); ?></label>
     1494                        <input type="text" class="widefat" id="wcpt-session-video" name="wcpt-session-video" value="<?php echo esc_url( $session_video ); ?>" />
     1495                </p>
     1496
    14561497                <?php
    14571498        }
     
    15451586                }
    15461587
    1547                 // Update session time.
    15481588                if ( isset( $_POST['wcpt-meta-session-info'] ) && wp_verify_nonce( $_POST['wcpt-meta-session-info'], 'edit-session-info' ) ) {
     1589                        // Update session time
    15491590                        $session_time = strtotime( sprintf(
    15501591                                '%s %d:%02d %s',
     
    15561597                        update_post_meta( $post_id, '_wcpt_session_time', $session_time );
    15571598
     1599                        // Update session type
    15581600                        $session_type = sanitize_text_field( $_POST['wcpt-session-type'] );
    15591601                        if ( ! in_array( $session_type, array( 'session', 'custom' ) ) )
     
    15611603
    15621604                        update_post_meta( $post_id, '_wcpt_session_type', $session_type );
     1605
     1606                        // Update session slides link
     1607                        update_post_meta( $post_id, '_wcpt_session_slides', esc_url_raw( $_POST['wcpt-session-slides'] ) );
     1608
     1609                        // Update session video link
     1610                        if ( 'wordpress.tv' == str_replace( 'www.', '', strtolower( parse_url( $_POST['wcpt-session-video'], PHP_URL_HOST ) ) ) ) {
     1611                                update_post_meta( $post_id, '_wcpt_session_video', esc_url_raw( $_POST['wcpt-session-video'] ) );
     1612                        }
    15631613                }
    15641614
Note: See TracChangeset for help on using the changeset viewer.