WordPress.org

Making WordPress.org

Changeset 5603


Ignore:
Timestamp:
06/29/2017 07:13:33 PM (2 years ago)
Author:
coreymckrill
Message:

WordCamp Coming Soon: Add Customizer field for custom intro message

This adds a new setting and control to the Coming Soon Page section
in the Customizer. Content added to the Custom Message textarea will
replace the default message shown on the Coming Soon page beneath the
header. This allows organizers a bit more flexibility in what they
communicate to site visitors before the site is officially launched.

Fixes #2901
Props Kau-Boy

Location:
sites/trunk/wordcamp.org/public_html/wp-content/plugins/wordcamp-coming-soon-page
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • sites/trunk/wordcamp.org/public_html/wp-content/plugins/wordcamp-coming-soon-page/classes/wccsp-customizer.php

    r3784 r5603  
    128128            )
    129129        );
     130
     131        $wp_customize->add_setting(
     132            'wccsp_settings[introduction]',
     133            array(
     134                'default'           => '',
     135                'type'              => 'option',
     136                'capability'        => $GLOBALS['WCCSP_Settings']::REQUIRED_CAPABILITY,
     137                'sanitize_callback' => array( $this, 'sanitize_introduction' ),
     138            )
     139        );
     140
     141        $wp_customize->add_control(
     142            'wccsp_settings[introduction]',
     143            array(
     144                'label'       => __( 'Custom Message', 'wordcamporg' ),
     145                'description' => __( 'This will replace the default message shown beneath the header.', 'wordcamporg' ),
     146                'section'     => 'wccsp_live_preview',
     147                'type'        => 'textarea',
     148            )
     149        );
     150    }
     151
     152    /**
     153     * Sanitize the contents of the Custom Message textarea before storing in the database.
     154     *
     155     * This uses the same sanitization strategy as menu item descriptions and post content in wp_insert_post.
     156     *
     157     * @param string $value The unsanitized introduction string.
     158     *
     159     * @return string The sanitized introduction string.
     160     */
     161    public function sanitize_introduction( $value ) {
     162        return wp_unslash( apply_filters( 'content_save_pre', wp_slash( $value ) ) );
    130163    }
    131164
  • sites/trunk/wordcamp.org/public_html/wp-content/plugins/wordcamp-coming-soon-page/classes/wccsp-settings.php

    r3837 r5603  
    4040            'container_background_color' => '#FFFFFF', // deprecated
    4141            'text_color'                 => '#000000', // deprecated
     42            'introduction'               => '',
    4243        );
    4344
  • sites/trunk/wordcamp.org/public_html/wp-content/plugins/wordcamp-coming-soon-page/classes/wordcamp-coming-soon-page.php

    r4591 r5603  
    119119            'contact_form_shortcode' => $this->get_contact_form_shortcode(),
    120120            'colors'                 => $this->get_colors(),
     121            'introduction'           => $this->get_introduction(),
    121122        );
    122123
     
    272273        return $contact_form_shortcode;
    273274    }
     275
     276    /**
     277     * Retrieve the optional introduction overwriting the default string.
     278     *
     279     * @return string
     280     */
     281    public function get_introduction() {
     282        $settings     = $GLOBALS['WCCSP_Settings']->get_settings();
     283
     284        return $settings['introduction'];
     285    }
    274286} // end WordCamp_Coming_Soon_Page
  • sites/trunk/wordcamp.org/public_html/wp-content/plugins/wordcamp-coming-soon-page/views/template-coming-soon.php

    r5534 r5603  
    4242            <div class="wccsp-introduction">
    4343                <p id="wccsp-introduction">
    44                     <?php printf(
    45                         // translators: %s is the name of the blog
    46                         __(
    47                             '%s is in the early planning stages. In the meantime, you can subscribe to updates above, or contact the organizers below to get involved.',
    48                             'wordcamporg'
    49                         ),
    50                         esc_html( get_bloginfo( 'name' ) )
    51                     ); ?>
     44                    <?php if ( ! empty( $introduction ) ) : ?>
     45                        <?php echo wp_kses_post( $introduction ); ?>
     46                    <?php else : ?>
     47                        <?php printf(
     48                            /* translators: %s is the name of the blog. */
     49                            __(
     50                                '%s is in the early planning stages. In the meantime, you can subscribe to updates above, or contact the organizers below to get involved.',
     51                                'wordcamporg'
     52                            ),
     53                            esc_html( get_bloginfo( 'name' ) )
     54                        ); ?>
     55                    <?php endif; ?>
    5256                </p>
    5357            </div><!-- .wccsp-introduction -->
Note: See TracChangeset for help on using the changeset viewer.