wp_ajax_save_attachment_compat() - WordPress 函数参考中文文档

返回介绍

wp_ajax_save_attachment_compat()

发布于 2017-09-11 字数2613 浏览 875 评论 0

wp_ajax_save_attachment_compat()

Ajax handler for saving backward compatible attachment attributes.


描述


源代码

File: wp-admin/includes/ajax-actions.php

function wp_ajax_save_attachment_compat() {
	if ( ! isset( $_REQUEST['id'] ) )
		wp_send_json_error();

	if ( ! $id = absint( $_REQUEST['id'] ) )
		wp_send_json_error();

	if ( empty( $_REQUEST['attachments'] ) || empty( $_REQUEST['attachments'][ $id ] ) )
		wp_send_json_error();
	$attachment_data = $_REQUEST['attachments'][ $id ];

	check_ajax_referer( 'update-post_' . $id, 'nonce' );

	if ( ! current_user_can( 'edit_post', $id ) )
		wp_send_json_error();

	$post = get_post( $id, ARRAY_A );

	if ( 'attachment' != $post['post_type'] )
		wp_send_json_error();

	/** This filter is documented in wp-admin/includes/media.php */
	$post = apply_filters( 'attachment_fields_to_save', $post, $attachment_data );

	if ( isset( $post['errors'] ) ) {
		$errors = $post['errors']; // @todo return me and display me!
		unset( $post['errors'] );
	}

	wp_update_post( $post );

	foreach ( get_attachment_taxonomies( $post ) as $taxonomy ) {
		if ( isset( $attachment_data[ $taxonomy ] ) )
			wp_set_object_terms( $id, array_map( 'trim', preg_split( '/,+/', $attachment_data[ $taxonomy ] ) ), $taxonomy, false );
	}

	if ( ! $attachment = wp_prepare_attachment_for_js( $id ) )
		wp_send_json_error();

	wp_send_json_success( $attachment );
}

更新日志

Version 描述
3.5.0 Introduced.

相关函数

Uses

  • wp-admin/includes/media.php:
    attachment_fields_to_save
  • wp-includes/capabilities.php:
    current_user_can()
  • wp-includes/pluggable.php:
    check_ajax_referer()
  • wp-includes/functions.php:
    wp_send_json_error()
  • wp-includes/functions.php:
    absint()
  • wp-includes/functions.php:
    wp_send_json_success()
  • wp-includes/taxonomy.php:
    wp_set_object_terms()
  • wp-includes/plugin.php:
    apply_filters()
  • wp-includes/media.php:
    wp_prepare_attachment_for_js()
  • wp-includes/media.php:
    get_attachment_taxonomies()
  • wp-includes/post.php:
    wp_update_post()
  • wp-includes/post.php:
    get_post()
  • Show 7 more uses
    Hide more uses


User Contributed Notes

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

目前还没有任何评论,快来抢沙发吧!