Index: sites/trunk/wordpress.org/public_html/wp-content/plugins/support-forums/inc/class-hooks.php =================================================================== --- sites/trunk/wordpress.org/public_html/wp-content/plugins/support-forums/inc/class-hooks.php (revision 5757) +++ sites/trunk/wordpress.org/public_html/wp-content/plugins/support-forums/inc/class-hooks.php (revision 5764) @@ -377,8 +377,8 @@ */ public function display_extra_topic_fields() { + $site_url = get_post_meta( bbp_get_topic_id(), self::SITE_URL_META, true ); + // Display site URL for logged-in users. - if ( is_user_logged_in() ) { - $site_url = get_post_meta( bbp_get_topic_id(), self::SITE_URL_META, true ); - + if ( is_user_logged_in() && $site_url ) { printf( '
%1$s %2$s
', __( 'Site URL:', 'wporg-forums' ), @@ -411,10 +411,14 @@ $site_url = esc_url_raw( apply_filters( 'pre_user_url', $_POST['site_url'] ) ); - $protocols = implode( '|', array( 'http', 'https' ) ); - if ( ! preg_match( '/^(' . $protocols . '):/is', $site_url ) ) { - $site_url = 'http://' . $site_url; + if ( $site_url ) { + $protocols = implode( '|', array( 'http', 'https' ) ); + if ( ! preg_match( '/^(' . $protocols . '):/is', $site_url ) ) { + $site_url = 'http://' . $site_url; + } + + update_post_meta( $topic_id, self::SITE_URL_META, $site_url ); + } elseif ( 'bbp_edit_topic' === current_action() ) { + delete_post_meta( $topic_id, self::SITE_URL_META ); } - - update_post_meta( $topic_id, self::SITE_URL_META, $site_url ); } }