mirror of
https://github.com/gosticks/wordpress-develop.git
synced 2026-06-28 22:30:04 +00:00
Move revisions/autosave and post format functions from wp-includes/post.php into revision.php and post-formats.php.
git-svn-id: https://develop.svn.wordpress.org/trunk@23466 602fd350-edb4-49c9-b593-d223f7449a82
This commit is contained in:
@@ -1798,181 +1798,6 @@ function convert_smilies($text) {
|
||||
return $output;
|
||||
}
|
||||
|
||||
/**
|
||||
* Return the class for a post format content wrapper
|
||||
*
|
||||
* @since 3.6.0
|
||||
*
|
||||
* @param string $format
|
||||
*/
|
||||
function get_post_format_content_class( $format ) {
|
||||
return apply_filters( 'post_format_content_class', 'post-format-content', $format );
|
||||
}
|
||||
|
||||
/**
|
||||
* Ouput the class for a post format content wrapper
|
||||
*
|
||||
* @since 3.6.0
|
||||
*
|
||||
* @param string $format
|
||||
*/
|
||||
function post_format_content_class( $format ) {
|
||||
echo get_post_format_content_class( $format );
|
||||
}
|
||||
|
||||
/**
|
||||
* Provide fallback behavior for Posts that have associated post format
|
||||
*
|
||||
* @since 3.6.0
|
||||
*
|
||||
* @param string $content
|
||||
*/
|
||||
function post_formats_compat( $content, $id = 0 ) {
|
||||
$post = empty( $id ) ? get_post() : get_post( $id );
|
||||
if ( empty( $post ) )
|
||||
return $content;
|
||||
|
||||
$format = get_post_format( $post );
|
||||
if ( empty( $format ) || in_array( $format, array( 'status', 'aside', 'chat' ) ) )
|
||||
return $content;
|
||||
|
||||
if ( current_theme_supports( 'post-formats', $format ) )
|
||||
return $content;
|
||||
|
||||
$defaults = array(
|
||||
'position' => 'after',
|
||||
'tag' => 'div',
|
||||
'class' => get_post_format_content_class( $format ),
|
||||
'link_class' => '',
|
||||
'image_class' => '',
|
||||
'gallery' => '[gallery]',
|
||||
'audio' => '',
|
||||
'video' => ''
|
||||
);
|
||||
|
||||
$args = apply_filters( 'post_format_compat', array() );
|
||||
$compat = wp_parse_args( $args, $defaults );
|
||||
|
||||
$show_content = true;
|
||||
$format_output = '';
|
||||
$meta = get_post_format_meta( $post->ID );
|
||||
|
||||
switch ( $format ) {
|
||||
case 'link':
|
||||
$compat['tag'] = '';
|
||||
|
||||
if ( ! empty( $meta['url'] ) ) {
|
||||
$esc_url = preg_quote( $meta['url'], '#' );
|
||||
// Make sure the same URL isn't in the post (modified/extended versions allowed)
|
||||
if ( ! preg_match( '#' . $esc_url . '[^/&\?]#', $content ) ) {
|
||||
$format_output .= sprintf(
|
||||
'<a %shref="%s">%s</a>',
|
||||
empty( $compat['link_class'] ) ? '' : sprintf( 'class="%s" ', esc_attr( $compat['link_class'] ) ),
|
||||
esc_url( $meta['url'] ),
|
||||
empty( $post->post_title ) ? esc_url( $meta['url'] ) : apply_filters( 'the_title', $post->post_title )
|
||||
);
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
case 'quote':
|
||||
if ( ! empty( $meta['quote'] ) && ! stristr( $content, $meta['quote'] ) ) {
|
||||
$format_output .= sprintf( '<blockquote>%s</blockquote>', $meta['quote'] );
|
||||
if ( ! empty( $meta['quote_source'] ) ) {
|
||||
$format_output .= sprintf(
|
||||
'<cite>%s</cite>',
|
||||
! empty( $meta['url'] ) ?
|
||||
sprintf( '<a href="%s">%s</a>', esc_url( $meta['url'] ), $meta['quote_source'] ) :
|
||||
$meta['quote_source']
|
||||
);
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
case 'image':
|
||||
if ( ! empty( $meta['image'] ) ) {
|
||||
$image = is_numeric( $meta['image'] ) ? wp_get_attachment_url( $meta['image'] ) : $meta['image'];
|
||||
|
||||
if ( ! empty( $image ) && ! stristr( $content, $image ) ) {
|
||||
$image_html = sprintf(
|
||||
'<img %ssrc="%s" alt="" />',
|
||||
empty( $compat['image_class'] ) ? '' : sprintf( 'class="%s" ', esc_attr( $compat['image_class'] ) ),
|
||||
$image
|
||||
);
|
||||
if ( empty( $meta['url'] ) ) {
|
||||
$format_output .= $image_html;
|
||||
} else {
|
||||
$format_output .= sprintf(
|
||||
'<a href="%s">%s</a>',
|
||||
esc_url( $meta['url'] ),
|
||||
$image_html
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
case 'gallery':
|
||||
preg_match_all( '/' . get_shortcode_regex() . '/s', $content, $matches );
|
||||
if ( ! empty( $matches ) && isset( $matches[2] ) ) {
|
||||
foreach ( (array) $matches[2] as $match ) {
|
||||
if ( 'gallery' === $match )
|
||||
break 2; // foreach + case
|
||||
}
|
||||
}
|
||||
|
||||
if ( empty( $meta['gallery'] ) && ! empty( $compat['gallery'] ) ) {
|
||||
$format_output .= $compat['gallery'];
|
||||
} elseif ( ! empty( $meta['gallery'] ) ) {
|
||||
$format_output .= $meta['gallery'];
|
||||
}
|
||||
break;
|
||||
|
||||
case 'video':
|
||||
case 'audio':
|
||||
$shortcode_regex = '/' . get_shortcode_regex() . '/s';
|
||||
$matches = preg_match( $shortcode_regex, $content );
|
||||
if ( ! $matches || $format !== $matches[2] ) {
|
||||
if ( empty( $meta['media'] ) && ! empty( $compat[$format] ) ) {
|
||||
$format_output .= $compat[$format];
|
||||
} elseif ( ! empty( $meta['media'] ) ) {
|
||||
// the metadata is a shortcode or an embed code
|
||||
if ( preg_match( $shortcode_regex, $meta['media'] ) || preg_match( '#<[^>]+>#', $meta['media'] ) ) {
|
||||
$format_output .= $meta['media'];
|
||||
} elseif ( ! stristr( $content, $meta['media'] ) ) {
|
||||
// attempt to embed the URL
|
||||
$format_output .= sprintf( '[embed]%s[/embed]', $meta['media'] );
|
||||
}
|
||||
}
|
||||
}
|
||||
break;
|
||||
default:
|
||||
return $content;
|
||||
break;
|
||||
}
|
||||
|
||||
if ( empty( $format_output ) )
|
||||
return $content;
|
||||
|
||||
$output = '';
|
||||
|
||||
if ( ! empty( $content ) && $show_content && 'before' !== $compat['position'] )
|
||||
$output .= $content . PHP_EOL . PHP_EOL;
|
||||
|
||||
if ( ! empty( $compat['tag'] ) )
|
||||
$output .= sprintf( '<%s class="%s">', tag_escape( $compat['tag'] ), esc_attr( $compat['class'] ) );
|
||||
|
||||
$output .= $format_output;
|
||||
|
||||
if ( ! empty( $compat['tag'] ) )
|
||||
$output .= sprintf( '</%s>', tag_escape( $compat['tag'] ) );
|
||||
|
||||
if ( ! empty( $content ) && $show_content && 'before' === $compat['position'] )
|
||||
$output .= PHP_EOL . PHP_EOL . $content;
|
||||
|
||||
return $output;
|
||||
}
|
||||
|
||||
/**
|
||||
* Verifies that an email is valid.
|
||||
*
|
||||
@@ -3531,7 +3356,7 @@ function sanitize_trackback_urls( $to_ping ) {
|
||||
* @return string|array Slashed $value
|
||||
*/
|
||||
function wp_slash( $value ) {
|
||||
if ( is_array( $value ) ) {
|
||||
if ( is_array( $value ) ) {
|
||||
foreach ( $value as $k => $v ) {
|
||||
if ( is_array( $v ) ) {
|
||||
$value[$k] = wp_slash( $v );
|
||||
@@ -3540,10 +3365,10 @@ function wp_slash( $value ) {
|
||||
}
|
||||
}
|
||||
} else {
|
||||
$value = addslashes( $value );
|
||||
}
|
||||
$value = addslashes( $value );
|
||||
}
|
||||
|
||||
return $value;
|
||||
return $value;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -3562,5 +3387,5 @@ function wp_slash( $value ) {
|
||||
* @return string|array Unslashed $value
|
||||
*/
|
||||
function wp_unslash( $value ) {
|
||||
return stripslashes_deep( $value );
|
||||
return stripslashes_deep( $value );
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user