Making WordPress.org

Changeset 1573


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

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

Fixes #508
Props BrashRebel

Location:
sites/trunk/wordcamp.org/public_html/wp-content/plugins/wc-post-types
Files:
2 edited

Legend:

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

    r935 r1573  
    8888        list-style-type: none;
    8989    }
     90
     91/*
     92 * [sessions]
     93 */
     94.wcorg-session-links {
     95    margin-left: 0;
     96}
     97
     98.wcorg-session-links li {
     99    display: inline;
     100    list-style-type: none;
     101}
     102
     103.wcorg-session-links li::after {
     104    content: '|';
     105}
     106
     107.wcorg-session-links li:last-child::after {
     108    content: '';
     109}
  • 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.