wp_ajax_search_plugins()

In this article

Handles searching plugins via AJAX.

Source

function wp_ajax_search_plugins() {	check_ajax_referer( 'updates' );	// Ensure after_plugin_row_{$plugin_file} gets hooked.	wp_plugin_update_rows();	$pagenow = isset( $_POST['pagenow'] ) ? sanitize_key( $_POST['pagenow'] ) : '';	if ( 'plugins-network' === $pagenow || 'plugins' === $pagenow ) {	set_current_screen( $pagenow );	}	/** @var WP_Plugins_List_Table $wp_list_table */	$wp_list_table = _get_list_table(	'WP_Plugins_List_Table',	array(	'screen' => get_current_screen(),	)	);	$status = array();	if ( ! $wp_list_table->ajax_user_can() ) {	$status['errorMessage'] = __( 'Sorry, you are not allowed to manage plugins for this site.' );	wp_send_json_error( $status );	}	// Set the correct requester, so pagination works.	$_SERVER['REQUEST_URI'] = add_query_arg(	array_diff_key(	$_POST,	array(	'_ajax_nonce' => null,	'action' => null,	)	),	network_admin_url( 'plugins.php', 'relative' )	);	$GLOBALS['s'] = wp_unslash( $_POST['s'] );	$wp_list_table->prepare_items();	ob_start();	$wp_list_table->display();	$status['count'] = count( $wp_list_table->items );	$status['items'] = ob_get_clean();	wp_send_json_success( $status ); } 

Changelog

VersionDescription
4.6.0Introduced.

User Contributed Notes

You must log in before being able to contribute a note or feedback.