Changeset 7521 for sites/trunk/wordpress.org/public_html/wp-content/themes/pub/gutenberg/functions.php
- Timestamp:
- 07/30/2018 03:41:33 AM (6 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
sites/trunk/wordpress.org/public_html/wp-content/themes/pub/gutenberg/functions.php
r7520 r7521 66 66 } 67 67 68 69 68 // Disable use XML-RPC 70 69 add_filter( 'xmlrpc_enabled', '__return_false' ); … … 77 76 } 78 77 add_filter( 'wp_headers', 'disable_x_pingback' ); 78 }); 79 80 /** 81 * Ajax handler for querying attachments for logged-out users. 82 * 83 * @since 3.5.0 84 */ 85 function frontenberg_wp_ajax_nopriv_query_attachments() { 86 if ( 97589 !== absint( $_REQUEST['post_id'] ) ) { 87 wp_send_json_error(); 88 } 89 $query = isset( $_REQUEST['query'] ) ? (array) $_REQUEST['query'] : array(); 90 $keys = array( 91 's', 'order', 'orderby', 'posts_per_page', 'paged', 'post_mime_type', 92 'post_parent', 'post__in', 'post__not_in', 'year', 'monthnum' 93 ); 94 foreach ( get_taxonomies_for_attachments( 'objects' ) as $t ) { 95 if ( $t->query_var && isset( $query[ $t->query_var ] ) ) { 96 $keys[] = $t->query_var; 97 } 98 } 99 100 $query = array_intersect_key( $query, array_flip( $keys ) ); 101 $query['post_type'] = 'attachment'; 102 if ( MEDIA_TRASH 103 && ! empty( $_REQUEST['query']['post_status'] ) 104 && 'trash' === $_REQUEST['query']['post_status'] ) { 105 $query['post_status'] = 'trash'; 106 } else { 107 $query['post_status'] = 'inherit'; 108 } 109 110 // Filter query clauses to include filenames. 111 if ( isset( $query['s'] ) ) { 112 add_filter( 'posts_clauses', '_filter_query_attachment_filenames' ); 113 } 79 114 80 115 /** 81 * Ajax handler for querying attachments. 116 * Filters the arguments passed to WP_Query during an Ajax 117 * call for querying attachments. 82 118 * 83 * @since 3.5.0 119 * @since 3.7.0 120 * 121 * @see WP_Query::parse_query() 122 * 123 * @param array $query An array of query variables. 84 124 */ 85 function frontenberg_wp_ajax_nopriv_query_attachments() { 86 $query = isset( $_REQUEST['query'] ) ? (array) $_REQUEST['query'] : array(); 87 $keys = array( 88 's', 'order', 'orderby', 'posts_per_page', 'paged', 'post_mime_type', 89 'post_parent', 'post__in', 'post__not_in', 'year', 'monthnum' 90 ); 91 foreach ( get_taxonomies_for_attachments( 'objects' ) as $t ) { 92 if ( $t->query_var && isset( $query[ $t->query_var ] ) ) { 93 $keys[] = $t->query_var; 94 } 95 } 96 97 $query = array_intersect_key( $query, array_flip( $keys ) ); 98 $query['post_type'] = 'attachment'; 99 if ( MEDIA_TRASH 100 && ! empty( $_REQUEST['query']['post_status'] ) 101 && 'trash' === $_REQUEST['query']['post_status'] ) { 102 $query['post_status'] = 'trash'; 103 } else { 104 $query['post_status'] = 'inherit'; 105 } 106 107 // Filter query clauses to include filenames. 108 if ( isset( $query['s'] ) ) { 109 add_filter( 'posts_clauses', '_filter_query_attachment_filenames' ); 110 } 111 112 /** 113 * Filters the arguments passed to WP_Query during an Ajax 114 * call for querying attachments. 115 * 116 * @since 3.7.0 117 * 118 * @see WP_Query::parse_query() 119 * 120 * @param array $query An array of query variables. 121 */ 122 $query = apply_filters( 'ajax_query_attachments_args', $query ); 123 $query = new WP_Query( $query ); 124 125 $posts = array_map( 'wp_prepare_attachment_for_js', $query->posts ); 126 $posts = array_filter( $posts ); 127 128 wp_send_json_success( $posts ); 129 } 130 add_action( 'wp_ajax_nopriv_query-attachments', 'frontenberg_wp_ajax_nopriv_query_attachments' ); 131 }); 132 133 125 $query = apply_filters( 'ajax_query_attachments_args', $query ); 126 $query = new WP_Query( $query ); 127 128 $posts = array_map( 'wp_prepare_attachment_for_js', $query->posts ); 129 $posts = array_filter( $posts ); 130 131 wp_send_json_success( $posts ); 132 } 133 add_action( 'wp_ajax_nopriv_query-attachments', 'frontenberg_wp_ajax_nopriv_query_attachments' ); 134 134 135 135 if ( ! function_exists( 'gutenbergtheme_setup' ) ) :
Note: See TracChangeset
for help on using the changeset viewer.