wp_ajax_search_install_plugins()
Ajax handler for searching plugins to install.
Source
File: wp-admin/includes/ajax-actions.php
function wp_ajax_search_install_plugins() {
check_ajax_referer( 'updates' );
$pagenow = isset( $_POST['pagenow'] ) ? sanitize_key( $_POST['pagenow'] ) : '';
if ( 'plugin-install-network' === $pagenow || 'plugin-install' === $pagenow ) {
set_current_screen( $pagenow );
}
/** @var WP_Plugin_Install_List_Table $wp_list_table */
$wp_list_table = _get_list_table( 'WP_Plugin_Install_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( 'plugin-install.php', 'relative' ) );
$wp_list_table->prepare_items();
ob_start();
$wp_list_table->display();
$status['count'] = (int) $wp_list_table->get_pagination_arg( 'total_items' );
$status['items'] = ob_get_clean();
wp_send_json_success( $status );
}
Changelog
Version | Description |
---|---|
WP-4.6.0 | Introduced. |