Title: populate_roles
Published: April 25, 2014
Last modified: February 24, 2026

---

# populate_roles()

## In this article

 * [Source](https://developer.wordpress.org/reference/functions/populate_roles/?output_format=md#source)
 * [Related](https://developer.wordpress.org/reference/functions/populate_roles/?output_format=md#related)
 * [Changelog](https://developer.wordpress.org/reference/functions/populate_roles/?output_format=md#changelog)

[ Back to top](https://developer.wordpress.org/reference/functions/populate_roles/?output_format=md#wp--skip-link--target)

Execute WordPress role creation for the various WordPress versions.

## 󠀁[Source](https://developer.wordpress.org/reference/functions/populate_roles/?output_format=md#source)󠁿

    ```php
    function populate_roles() {
    	$wp_roles = wp_roles();

    	// Disable role updates to the database while populating roles.
    	$original_use_db  = $wp_roles->use_db;
    	$wp_roles->use_db = false;

    	// Populate roles
    	populate_roles_160();
    	populate_roles_210();
    	populate_roles_230();
    	populate_roles_250();
    	populate_roles_260();
    	populate_roles_270();
    	populate_roles_280();
    	populate_roles_300();

    	// Save the updated roles to the database.
    	if ( $original_use_db ) {
    		update_option( $wp_roles->role_key, $wp_roles->roles, true );
    	}

    	// Restore original value for writing to database.
    	$wp_roles->use_db = $original_use_db;
    }
    ```

[View all references](https://developer.wordpress.org/reference/files/wp-admin/includes/schema.php/)
[View on Trac](https://core.trac.wordpress.org/browser/tags/6.9.4/src/wp-admin/includes/schema.php#L719)
[View on GitHub](https://github.com/WordPress/wordpress-develop/blob/6.9.4/src/wp-admin/includes/schema.php#L719-L743)

## 󠀁[Related](https://developer.wordpress.org/reference/functions/populate_roles/?output_format=md#related)󠁿

| Uses | Description | 
| [wp_roles()](https://developer.wordpress.org/reference/functions/wp_roles/)`wp-includes/capabilities.php` |

Retrieves the global [WP_Roles](https://developer.wordpress.org/reference/classes/wp_roles/) instance and instantiates it if necessary.

  | 
| [populate_roles_160()](https://developer.wordpress.org/reference/functions/populate_roles_160/)`wp-admin/includes/schema.php` |

Create the roles for WordPress 2.0

  | 
| [populate_roles_210()](https://developer.wordpress.org/reference/functions/populate_roles_210/)`wp-admin/includes/schema.php` |

Create and modify WordPress roles for WordPress 2.1.

  | 
| [populate_roles_230()](https://developer.wordpress.org/reference/functions/populate_roles_230/)`wp-admin/includes/schema.php` |

Create and modify WordPress roles for WordPress 2.3.

  | 
| [populate_roles_250()](https://developer.wordpress.org/reference/functions/populate_roles_250/)`wp-admin/includes/schema.php` |

Create and modify WordPress roles for WordPress 2.5.

  | 
| [populate_roles_260()](https://developer.wordpress.org/reference/functions/populate_roles_260/)`wp-admin/includes/schema.php` |

Create and modify WordPress roles for WordPress 2.6.

  | 
| [populate_roles_270()](https://developer.wordpress.org/reference/functions/populate_roles_270/)`wp-admin/includes/schema.php` |

Create and modify WordPress roles for WordPress 2.7.

  | 
| [populate_roles_280()](https://developer.wordpress.org/reference/functions/populate_roles_280/)`wp-admin/includes/schema.php` |

Create and modify WordPress roles for WordPress 2.8.

  | 
| [populate_roles_300()](https://developer.wordpress.org/reference/functions/populate_roles_300/)`wp-admin/includes/schema.php` |

Create and modify WordPress roles for WordPress 3.0.

  | 
| [update_option()](https://developer.wordpress.org/reference/functions/update_option/)`wp-includes/option.php` |

Updates the value of an option that was already added.

  |

[Show 5 more](https://developer.wordpress.org/reference/functions/populate_roles/?output_format=md#)
[Show less](https://developer.wordpress.org/reference/functions/populate_roles/?output_format=md#)

| Used by | Description | 
| [wp_initialize_site()](https://developer.wordpress.org/reference/functions/wp_initialize_site/)`wp-includes/ms-site.php` |

Runs the initialization routine for a given site.

  | 
| [wp_install()](https://developer.wordpress.org/reference/functions/wp_install/)`wp-admin/includes/upgrade.php` |

Installs the site.

  | 
| [install_blog()](https://developer.wordpress.org/reference/functions/install_blog/)`wp-includes/ms-deprecated.php` |

Install an empty blog.

  |

## 󠀁[Changelog](https://developer.wordpress.org/reference/functions/populate_roles/?output_format=md#changelog)󠁿

| Version | Description | 
| [2.0.0](https://developer.wordpress.org/reference/since/2.0.0/) | Introduced. |

## User Contributed Notes

You must [log in](https://login.wordpress.org/?redirect_to=https%3A%2F%2Fdeveloper.wordpress.org%2Freference%2Ffunctions%2Fpopulate_roles%2F)
before being able to contribute a note or feedback.