3.9 KiB
wp profile queries
Profile database queries and their execution time.
This command runs on the before_wp_load hook, just before the WP load process begins.
Displays all database queries executed during a WordPress request, along with their execution time and caller information. You can filter queries to only show those executed during a specific hook or by a specific callback.
OPTIONS
See the argument syntax reference for a detailed explanation of the syntax conventions used.
- [--url=<url>]
- Execute a request against a specified URL. Defaults to the home URL.
- [--hook=<hook>]
- Filter queries to only show those executed during a specific hook.
- [--callback=<callback>]
- Filter queries to only show those executed by a specific callback.
- [--time_threshold=<seconds>]
- Filter queries to only show those that took longer than or equal to a certain number of seconds.
- [--fields=<fields>]
- Limit the output to specific fields.
- [--format=<format>]
- Render output in a particular format.
---
default: table
options:
- table
- json
- yaml
- csv ---
- [--order=<order>]
- Ascending or Descending order.
---
default: ASC
options:
- ASC
- DESC ---
- [--orderby=<fields>]
- Set orderby which field.
EXAMPLES
# Show all queries with their execution time
$ wp profile queries --fields=query,time
# Show queries executed during the 'init' hook
$ wp profile queries --hook=init --fields=query,time,caller
# Show queries executed by a specific callback
$ wp profile queries --callback='WP_Query->get_posts()' --fields=query,time
# Show queries ordered by execution time
$ wp profile queries --fields=query,time --orderby=time --order=DESC
GLOBAL PARAMETERS
These global parameters have the same behavior across all commands and affect how WP-CLI interacts with WordPress.
| Argument | Description |
|---|---|
--path=<path> |
Path to the WordPress files. |
--url=<url> |
Pretend request came from given URL. In multisite, this argument is how the target site is specified. |
--ssh=[<scheme>:][<user>@]<host|container>[:<port>][<path>] |
Perform operation against a remote server over SSH (or a container using scheme of "docker", "docker-compose", "docker-compose-run", "vagrant"). |
--ssh-args=<args> |
Pass additional arguments to SSH (or other tools specified by --ssh scheme). |
--http=<http> |
Perform operation against a remote WordPress installation over HTTP. |
--user=<id|login|email> |
Set the WordPress user. |
--skip-plugins[=<plugins>] |
Skip loading all plugins, or a comma-separated list of plugins. Note: mu-plugins are still loaded. |
--skip-themes[=<themes>] |
Skip loading all themes, or a comma-separated list of themes. |
--skip-packages |
Skip loading all installed packages. |
--require=<path> |
Load PHP file before running the command (may be used more than once). |
--exec=<php-code> |
Execute PHP code before running the command (may be used more than once). |
--context=<context> |
Load WordPress in a given context. |
--[no-]color |
Whether to colorize the output. |
--debug[=<group>] |
Show all PHP errors and add verbosity to WP-CLI output. Built-in groups include: bootstrap, commandfactory, and help. |
--prompt[=<assoc>] |
Prompt the user to enter values for all command arguments, or a subset specified as comma-separated values. |
--quiet |
Suppress informational messages. |
--alias=<name> |
Name of the alias to use. Aliases can reference local WordPress installations or remote SSH connections. Aliases are defined in the wp-cli.yml file. |
--assume-https |
Set $_SERVER['HTTPS'] to make WordPress treat the site as HTTPS. Use when WordPress is behind an HTTPS proxy or load balancer. |