wp post create în WordPress

Creează un articol, o pagină sau alt tip de conținut, cu titlu, conținut, stare și autor dați ca opțiuni.

Sintaxă
wp post create [<file>] [--post_title=<post_title>] [--post_content=<post_content>] [--post_status=<post_status>] [--post_type=<post_type>] [--post_author=<post_author>] [--post_date=<post_date>] [--porcelain]

Ce face wp post create

wp post create creează conținut nou prin wp_insert_post(), deci orice câmp al acestei funcții poate fi dat ca opțiune: --post_title, --post_content, --post_status, --post_type, --post_author (ID-ul utilizatorului), --post_date, --post_category, --tags_input, --meta_input (JSON) etc.

Starea implicită este draft (ciornă), iar tipul implicit post. Pentru publicare imediată dai --post_status=publish; cu --post_status=future și o --post_date în viitor, articolul se programează.

Conținutul lung se poate citi dintr-un fișier dat ca prim argument (atunci --post_content este ignorat), iar cu - se citește de la intrarea standard. --porcelain afișează doar ID-ul articolului creat.

Parametri

Parametru Descriere
[<file>] Fișierul din care se citește conținutul; - citește de la intrarea standard.
--post_title=<post_title> Titlul.
--post_content=<post_content> Conținutul (HTML sau blocuri).
--post_status=<post_status> Starea: draft (implicit), publish, pending, private, future.
--post_type=<post_type> Tipul de conținut; implicit post. Pentru pagini, page.
--post_author=<post_author> ID-ul autorului.
--post_date=<post_date> Data articolului, de exemplu '2026-12-01 09:00:00'.
--post_category=<post_category> Categorii (nume, slug-uri sau ID-uri), separate prin virgulă.
--meta_input=<meta_input> Câmpuri personalizate, ca obiect JSON.
--porcelain Afișează doar ID-ul articolului nou.

Exemple

Exemplul 1: Un articol publicat imediat

Autorul este Ana (ID 2).

wp post create --post_title="Meniul de toamnă la Cafenea Iași" --post_content="<p>Plăcintă cu dovleac, 18 lei.</p>" --post_status=publish --post_author=2

Ieșire în terminal

Success: Created post 57.

Exemplul 2: Conținut dintr-un fișier, programat pentru decembrie

Conținutul vine din craciun.html; starea future și data în viitor programează publicarea.

wp post create ./craciun.html --post_title="Program de Crăciun" --post_status=future --post_date="2026-12-01 09:00:00" --post_category=noutati

Ieșire în terminal

Success: Created post 58.

Exemplul 3: O pagină nouă, cu ID-ul păstrat într-o variabilă

Cu --porcelain comanda scrie doar ID-ul paginii.

ID=$(wp post create --post_type=page --post_title="Contact" --post_status=publish --porcelain)
echo "Pagina Contact are ID-ul $ID"

Ieșire în terminal

Pagina Contact are ID-ul 9

Greșeli frecvente

  • Uitarea lui --post_status=publish: articolul rămâne ciornă și nu apare pe site.
  • Ghilimele lipsă în jurul titlurilor cu spații: --post_title=Meniul de toamnă este împărțit de shell în mai multe argumente. Pune valoarea între ghilimele.
  • Așteptarea ca autorul să fie utilizatorul tău: WP-CLI nu rulează ca un utilizator anume, deci fără --post_author (sau parametrul global --user=ana) autorul poate rămâne 0.

Comenzi înrudite

  • wp post update: Modifică unul sau mai multe articole existente: titlu, stare, autor, conținut sau câmpuri personalizate.
  • wp post list: Afișează articole, pagini sau alte tipuri de conținut, filtrate cu argumentele WP_Query, în tabel, CSV, JSON sau ID-uri.
  • wp user create: Creează un utilizator WordPress nou, cu rol, nume și parolă, direct din terminal.