> For the complete documentation index, see [llms.txt](https://docs.ititanhosting.ro/docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.ititanhosting.ro/docs/romana/vps/linux/cum-instalezi-si-folosesti-wp-cli.md).

# Cum instalezi și folosesti WP-CLI

WP-CLI este o unealta din linia de comanda pentru gestionarea site-urilor WordPress. In loc sa te loghezi in panoul de administrare pentru fiecare task mic, poti gestiona actualizari, pluginuri, utilizatori si continut direct din terminal. Este mai rapid si perfect pentru automatizare.

### Pasul 1: Descarca WP-CLI

```bash
cd /tmp
curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar
```

### Pasul 2: Fa-l executabil si muta-l in PATH

```bash
chmod +x wp-cli.phar
sudo mv wp-cli.phar /usr/local/bin/wp
```

Verifica daca merge:

```bash
wp --info
```

Ar trebui sa vezi detalii despre versiune si mediu.

### Pasul 3: Instaleaza WordPress (daca nu este deja instalat)

Navigheaza la directorul web si descarca WordPress:

```bash
cd /var/www/exemplu.com/html
wp core download
```

Creaza fisierul wp-config:

```bash
wp config create --dbname=mydb --dbuser=myuser --dbpass=parola --dbhost=localhost
```

Ruleaza instalarea:

```bash
wp core install --url=exemplu.com --title="Site-ul Meu" --admin_user=admin --admin_password=parola --admin_email=admin@exemplu.com
```

Asta este tot. Site-ul tau WordPress este acum gata.

### Pasul 4: Gestionarea pluginurilor

Listeaza toate pluginurile instalate:

```bash
wp plugin list
```

Instaleaza un plugin:

```bash
wp plugin install woocommerce --activate
```

Actualizeaza toate pluginurile:

```bash
wp plugin update --all
```

Dezactiveaza un plugin:

```bash
wp plugin deactivate nume-plugin
```

### Pasul 5: Gestionarea temelor

Listeaza temele:

```bash
wp theme list
```

Instaleaza si activeaza o tema:

```bash
wp theme install astra --activate
```

### Pasul 6: Gestionarea utilizatorilor

Listeaza utilizatorii:

```bash
wp user list
```

Creaza un utilizator nou:

```bash
wp user create editor editor@exemplu.com --role=editor --user_pass=parola
```

### Pasul 7: Actualizeaza WordPress

```bash
wp core update
wp core update-db
```

Actualizeaza intotdeauna baza de date dupa ce actualizezi nucleul.

### Pasul 8: Comenzi WP-CLI utile pentru munca de zi cu zi

| Comanda                                 | Ce face                                                      |
| --------------------------------------- | ------------------------------------------------------------ |
| `wp cache flush`                        | Goleste tot cache-ul                                         |
| `wp search-replace 'old.com' 'new.com'` | Actualizeaza URL-urile in baza de date (util pentru migrari) |
| `wp db export`                          | Exporta baza de date intr-un fisier SQL                      |
|                                         | `wp db import fisier.sql`                                    |
|                                         | `wp post list`                                               |
|                                         | `wp media list`                                              |
|                                         | `wp option get siteurl`                                      |
|                                         | `wp rewrite flush`                                           |

### Configurarea cron pentru WordPress

WordPress are propriul sistem cron, dar ruleaza doar cand cineva viziteaza site-ul. Pentru o fiabilitate mai buna, dezactiveaza cron-ul WP si foloseste cron-ul sistemului.

Adauga asta in `wp-config.php`:

```php
define('DISABLE_WP_CRON', true);
```

Apoi configureaza un job cron in sistem:

```bash
crontab -e
```

Adauga aceasta linie pentru a rula la fiecare 15 minute:

```
*/15 * * * * /usr/local/bin/wp cron event run --due-now --path=/var/www/exemplu.com/html
```

### Mentine WP-CLI actualizat

WP-CLI se poate actualiza singur:

```bash
wp cli update
```

### Taskuri comune prin exemple

**Reseteaza o parola uitata:**

```bash
wp user update admin --user_pass=parola_noua
```

**Actualizare in masa pentru toate pluginurile si temele:**

```bash
wp plugin update --all && wp theme update --all
```

**Export si import de continut:**

```bash
wp export --user=admin
wp import fisier-exportat.xml --authors=create
```

### Probleme comune

**"Error: This does not seem to be a WordPress site"** Navigheaza la directorul radacina WordPress mai intai. WP-CLI trebuie sa gaseasca fisierul `wp-config.php`.

**Erori de permisiuni** Asigura-te ca utilizatorul serverului web poate citi si scrie fisierele WordPress. Pe Ubuntu cu Nginx, acesta este de obicei `www-data`.

### Sfaturi de securitate

* Nu folosi `--user_pass` in comenzi care ajung in istoricul shell-ului. Foloseste `wp user create` interactiv.
* Mentine WP-CLI si WordPress actualizate.
* Limiteaza accesul WP-CLI doar la utilizatorii de incredere de pe server.

### Concluzie

WP-CLI transforma orele de click-uri in secunde de tastat. Odata ce te obisnuiesti sa gestionezi WordPress din terminal, sa te intorci la panoul de administrare pare greoi.
