WordPress.org

Making WordPress.org

Changeset 8559


Ignore:
Timestamp:
04/01/2019 02:31:50 PM (6 months ago)
Author:
vedjain
Message:

WordCamp Block: Add excerpt support to Sponsor block for consistency

We already support excerpt in Speakers, Sessions and (WIP) Organizer block. This patch also adds support to show excerpt in Sponsor Block, thereby ensuring consistency among all blocks.

Fixes https://github.com/WordPress/wordcamp.org/issues/38

Location:
sites/trunk/wordcamp.org/public_html/wp-content
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • sites/trunk/wordcamp.org/public_html/wp-content/mu-plugins/blocks/assets/src/sponsors/block-content.js

    r8551 r8559  
    1010const { Component } = wp.element;
    1111const { escapeAttribute } = wp.escapeHtml;
     12const { __ } = wp.i18n;
    1213
    1314/**
     
    2930function SponsorDetail( { sponsorPost, attributes, onFeatureImageChange } ) {
    3031    const {
    31         show_name, show_logo, show_desc,
     32        show_name, show_logo, show_desc, content, excerpt_more,
    3233    } = attributes;
    3334
    3435    const featuredImageSizes = get( sponsorPost, '_embedded.wp:featuredmedia[0].media_details.sizes', {} );
     36    const displayContent = 'full' === content ? sponsorPost.content.rendered.trim() : sponsorPost.excerpt.rendered.trim();
     37
     38    console.log("content is: ", content, displayContent);
    3539
    3640    return (
     
    5357            />
    5458            }
    55             { ( show_desc || show_desc === undefined ) &&
     59            { ( 'none' !== content ) &&
    5660            <ItemHTMLContent
    5761                className={ classnames( 'wordcamp-sponsor-content' ) }
    58                 content={ sponsorPost.content.rendered.trim() }
     62                content={ displayContent }
     63                link={ ( 'full' === content || excerpt_more ) ? sponsorPost.link : null }
     64                linkText={ 'full' === content ? __( 'Visit sponsor page', 'wordcamporg' ) : __( 'Read more', 'wordcamporg' ) }
    5965            />
    6066            }
  • sites/trunk/wordcamp.org/public_html/wp-content/mu-plugins/blocks/assets/src/sponsors/inspector-controls.js

    r8550 r8559  
    2727        ];
    2828
     29        const contentOptions = [
     30            { label: __( 'Full', 'wordcamporg' ), value: 'full' },
     31            { label: __( 'Excerpt', 'wordcamporg' ), value: 'excerpt' },
     32            { label: __( 'None', 'wordcamporg'), value: 'none' },
     33        ];
     34
    2935        const { attributes, setAttributes } = this.props;
    3036        const {
    31             show_name, show_logo, show_desc, sort_by,
     37            show_name, show_logo, sort_by, excerpt_more, content
    3238        } = attributes;
    3339
     
    5864                    </PanelRow>
    5965                    <PanelRow>
    60                         <ToggleControl
     66                        <SelectControl
    6167                            label={ __( 'Description', 'wordcamporg' ) }
    62                             help={ __( 'Show or hide sponsor description', 'wordcamporg' ) }
    63                             checked={ show_desc === undefined ? true : show_desc }
    64                             onChange={ ( value ) => setAttributes( { show_desc: value } ) }
     68                            value={ content }
     69                            options={ contentOptions }
     70                            help={ __( 'Length of sponsor description', 'wordcamporg' ) }
     71                            onChange={ ( value ) => setAttributes( { content: value } ) }
    6572                        />
    6673                    </PanelRow>
     74                    { 'excerpt' === content &&
     75                    <PanelRow>
     76                        <ToggleControl
     77                            label={ __( 'Read More Link', 'wordcamporg' ) }
     78                            help={ __( 'Show a link at the end of the excerpt (some themes already include this)', 'wordcamporg' ) }
     79                            checked={ excerpt_more }
     80                            onChange={ ( value ) => setAttributes( { excerpt_more: value } ) }
     81                        />
     82                    </PanelRow>
     83                    }
    6784                    <PanelRow>
    6885                        <SelectControl
  • sites/trunk/wordcamp.org/public_html/wp-content/mu-plugins/blocks/includes/sponsors.php

    r8537 r8559  
    183183            'default' => true,
    184184        ),
    185         'show_desc'             => array(
     185        'content'               => array(
     186            'type'    => 'string',
     187            'default' => 'full',
     188        ),
     189        'excerpt_more'          => array(
    186190            'type'    => 'bool',
    187191            'default' => true,
  • sites/trunk/wordcamp.org/public_html/wp-content/mu-plugins/blocks/view/sponsors.php

    r8541 r8559  
    3232    <?php } ?>
    3333
    34     <?php if ( $attributes['show_desc'] ) { ?>
    35         <?php echo wp_kses_post( wpautop( get_all_the_content( $sponsor ) ) ); ?>
     34    <?php if ( 'none' !== $attributes['content'] ) { ?>
     35        <?php if ( 'full' === $attributes['content'] ) { ?>
     36            <?php echo wp_kses_post( wpautop( get_all_the_content( $sponsor ) ) ); ?>
     37        <?php } elseif ( 'excerpt' === $attributes['content'] ) { ?>
     38            <?php wpautop( the_excerpt() ); ?>
     39            <?php if ( true === $attributes['excerpt_more'] ) { ?>
     40                <p class="wordcamp-item-permalink">
     41                    <a href="<?php echo esc_url( get_permalink( $sponsor ) ); ?>" class="wordcamp-sponsor-permalink">
     42                        <?php esc_html_e( 'Read more', 'wordcamporg' ); ?>
     43                    </a>
     44                </p>
     45            <?php } ?>
     46        <?php } ?>
    3647    <?php } ?>
    3748
  • sites/trunk/wordcamp.org/public_html/wp-content/plugins/wc-post-types/wc-post-types.php

    r8537 r8559  
    22952295                    'with_front' => false,
    22962296                ),
    2297                 'supports'        => array( 'title', 'editor', 'revisions', 'thumbnail', 'custom-fields' ),
     2297                'supports'        => array( 'title', 'editor', 'excerpt', 'revisions', 'thumbnail', 'custom-fields' ),
    22982298                'menu_position'   => 21,
    22992299                'public'          => true,
Note: See TracChangeset for help on using the changeset viewer.