Pres This:
- Change the newly added `press_this_save_post_content` filter to `press_this_save_post` and pass the $post_data array to it. - Remove the newly added `press_this_useful_html_elements`. It only runs in compatibility mode when a URL is typed by the user. - Remove the `press_this_suggested_content` filter. It is redundant as the suggested HTML for the editor is already filtered by `press_this_suggested_html`. - Add some more inline docs and rename couple of vars to make the code more readable. Fixes #34455. Built from https://develop.svn.wordpress.org/trunk@36848 git-svn-id: http://core.svn.wordpress.org/trunk@36815 1a063a9b-81f0-0310-95a4-ce76da25c4cd
This commit is contained in:
parent
bbc3cde9b0
commit
9b2d44e5a1
|
@ -112,7 +112,7 @@ class WP_Press_This {
|
||||||
wp_send_json_error( array( 'errorMessage' => __( 'Invalid post.' ) ) );
|
wp_send_json_error( array( 'errorMessage' => __( 'Invalid post.' ) ) );
|
||||||
}
|
}
|
||||||
|
|
||||||
$post = array(
|
$post_data = array(
|
||||||
'ID' => $post_id,
|
'ID' => $post_id,
|
||||||
'post_title' => ( ! empty( $_POST['post_title'] ) ) ? sanitize_text_field( trim( $_POST['post_title'] ) ) : '',
|
'post_title' => ( ! empty( $_POST['post_title'] ) ) ? sanitize_text_field( trim( $_POST['post_title'] ) ) : '',
|
||||||
'post_content' => ( ! empty( $_POST['post_content'] ) ) ? trim( $_POST['post_content'] ) : '',
|
'post_content' => ( ! empty( $_POST['post_content'] ) ) ? trim( $_POST['post_content'] ) : '',
|
||||||
|
@ -125,34 +125,33 @@ class WP_Press_This {
|
||||||
|
|
||||||
if ( ! empty( $_POST['post_status'] ) && 'publish' === $_POST['post_status'] ) {
|
if ( ! empty( $_POST['post_status'] ) && 'publish' === $_POST['post_status'] ) {
|
||||||
if ( current_user_can( 'publish_posts' ) ) {
|
if ( current_user_can( 'publish_posts' ) ) {
|
||||||
$post['post_status'] = 'publish';
|
$post_data['post_status'] = 'publish';
|
||||||
} else {
|
} else {
|
||||||
$post['post_status'] = 'pending';
|
$post_data['post_status'] = 'pending';
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
$post['post_content'] = $this->side_load_images( $post_id, $post['post_content'] );
|
$post_data['post_content'] = $this->side_load_images( $post_id, $post_data['post_content'] );
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Filter the post_content of a Press This post before saving/updating, after
|
* Filter the post data of a Press This post before saving/updating, after
|
||||||
* side_load_images action had run.
|
* side_load_images action had run.
|
||||||
*
|
*
|
||||||
* @since 4.5.0
|
* @since 4.5.0
|
||||||
*
|
*
|
||||||
* @param string $content Content after side_load_images process.
|
* @param array $post_data The post data.
|
||||||
* @param int $post_id Post ID.
|
|
||||||
*/
|
*/
|
||||||
$post['post_content'] = apply_filters( 'press_this_save_post_content', $post['post_content'], $post_id );
|
$post_data = apply_filters( 'press_this_save_post', $post_data );
|
||||||
|
|
||||||
$updated = wp_update_post( $post, true );
|
$updated = wp_update_post( $post_data, true );
|
||||||
|
|
||||||
if ( is_wp_error( $updated ) ) {
|
if ( is_wp_error( $updated ) ) {
|
||||||
wp_send_json_error( array( 'errorMessage' => $updated->get_error_message() ) );
|
wp_send_json_error( array( 'errorMessage' => $updated->get_error_message() ) );
|
||||||
} else {
|
} else {
|
||||||
if ( isset( $post['post_format'] ) ) {
|
if ( isset( $post_data['post_format'] ) ) {
|
||||||
if ( current_theme_supports( 'post-formats', $post['post_format'] ) ) {
|
if ( current_theme_supports( 'post-formats', $post_data['post_format'] ) ) {
|
||||||
set_post_format( $post_id, $post['post_format'] );
|
set_post_format( $post_id, $post_data['post_format'] );
|
||||||
} elseif ( $post['post_format'] ) {
|
} elseif ( $post_data['post_format'] ) {
|
||||||
set_post_format( $post_id, false );
|
set_post_format( $post_id, false );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -178,7 +177,7 @@ class WP_Press_This {
|
||||||
* @param int $post_id Post ID.
|
* @param int $post_id Post ID.
|
||||||
* @param string $status Post status.
|
* @param string $status Post status.
|
||||||
*/
|
*/
|
||||||
$redirect = apply_filters( 'press_this_save_redirect', $redirect, $post_id, $post['post_status'] );
|
$redirect = apply_filters( 'press_this_save_redirect', $redirect, $post_id, $post_data['post_status'] );
|
||||||
|
|
||||||
if ( $redirect ) {
|
if ( $redirect ) {
|
||||||
wp_send_json_success( array( 'redirect' => $redirect, 'force' => $forceRedirect ) );
|
wp_send_json_success( array( 'redirect' => $redirect, 'force' => $forceRedirect ) );
|
||||||
|
@ -283,7 +282,7 @@ class WP_Press_This {
|
||||||
return $remote_url;
|
return $remote_url;
|
||||||
}
|
}
|
||||||
|
|
||||||
$useful_html_elements = array(
|
$allowed_elements = array(
|
||||||
'img' => array(
|
'img' => array(
|
||||||
'src' => true,
|
'src' => true,
|
||||||
'width' => true,
|
'width' => true,
|
||||||
|
@ -304,17 +303,8 @@ class WP_Press_This {
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
|
|
||||||
/**
|
|
||||||
* Filter 'useful' HTML elements list for fetch source step.
|
|
||||||
*
|
|
||||||
* @since 4.5.0
|
|
||||||
*
|
|
||||||
* @param array $useful_html_elements Default list of useful elements.
|
|
||||||
*/
|
|
||||||
$useful_html_elements = apply_filter( 'press_this_useful_html_elements', $useful_html_elements );
|
|
||||||
|
|
||||||
$source_content = wp_remote_retrieve_body( $remote_url );
|
$source_content = wp_remote_retrieve_body( $remote_url );
|
||||||
$source_content = wp_kses( $source_content, $useful_html_elements );
|
$source_content = wp_kses( $source_content, $allowed_elements );
|
||||||
|
|
||||||
return $source_content;
|
return $source_content;
|
||||||
}
|
}
|
||||||
|
@ -1181,12 +1171,17 @@ class WP_Press_This {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Filter the default HTML for the Press This editor.
|
* Filter the default HTML tags used in the suggested content for the editor.
|
||||||
|
*
|
||||||
|
* The HTML strings use printf format. After filtering the content is added at the specified places with `sprintf()`.
|
||||||
*
|
*
|
||||||
* @since 4.2.0
|
* @since 4.2.0
|
||||||
*
|
*
|
||||||
* @param array $default_html Associative array with two keys: 'quote' where %1$s is replaced with the site description
|
* @param array $default_html Associative array with three possible keys:
|
||||||
* or the selected content, and 'link' there %1$s is link href, %2$s is link text.
|
* - 'quote' where %1$s is replaced with the site description or the selected content.
|
||||||
|
* - 'link' where %1$s is link href, %2$s is link text, usually the source page title.
|
||||||
|
* - 'embed' which contains an [embed] shortcode when the source page offers embeddable content.
|
||||||
|
* @param array $data Associative array containing the data from the source page.
|
||||||
*/
|
*/
|
||||||
$default_html = apply_filters( 'press_this_suggested_html', $default_html, $data );
|
$default_html = apply_filters( 'press_this_suggested_html', $default_html, $data );
|
||||||
|
|
||||||
|
@ -1213,15 +1208,6 @@ class WP_Press_This {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Filter the assembled HTML for the Press This editor.
|
|
||||||
*
|
|
||||||
* @since 4.5.0
|
|
||||||
*
|
|
||||||
* @param string $content Assembled end output of suggested content for the Press This editor.
|
|
||||||
*/
|
|
||||||
$content = apply_filters( 'press_this_suggested_content', $content );
|
|
||||||
|
|
||||||
return $content;
|
return $content;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
*
|
*
|
||||||
* @global string $wp_version
|
* @global string $wp_version
|
||||||
*/
|
*/
|
||||||
$wp_version = '4.5-beta2-36847';
|
$wp_version = '4.5-beta2-36848';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Holds the WordPress DB revision, increments when changes are made to the WordPress DB schema.
|
* Holds the WordPress DB revision, increments when changes are made to the WordPress DB schema.
|
||||||
|
|
Loading…
Reference in New Issue