Desenvolvedores
Habilidades
Cada habilidade eizport/* da Abilities API do WordPress — entrada, saída, permissão — por REST, PHP e MCP.
Tudo o que as telas fazem é uma habilidade da Abilities API (WordPress 6.9+), na categoria eizport. As telas Exportar e Configurações também as chamam, então código, agentes de IA e a interface seguem o mesmo caminho.
Como chamá-las
REST (/wp-json/wp-abilities/v1/abilities/<name>/run, autenticado: cookie + nonce, ou uma senha de aplicativo):
curl -u admin:APP_PASSWORD -X POST \
-H "Content-Type: application/json" \
https://example.com/wp-json/wp-abilities/v1/abilities/eizport/export/run \
-d '{"input":{"types":{"page":{"ids":[43]}},"options":{"groups":["basics"]}}}'
Habilidades somente leitura rodam com GET e a entrada na string de consulta.
PHP:
$copy = wp_get_ability( 'eizport/export' )->execute(
array(
'types' => array( 'product' => array( 'filters' => array( 'status' => 'publish' ) ) ),
'zip' => true,
)
);
if ( ! is_wp_error( $copy ) ) {
echo $copy['download_url'];
}
MCP: com o MCP adapter, cada habilidade é uma ferramenta que um agente de IA pode chamar.
Roda uma exportação por solicitação:
export_wp()define suas funções auxiliares dentro de si mesma. Uma segundaeizport/exportna mesma solicitação retornaeizport_export_unavailable.
Visão geral
| Habilidade | Faz | Permissão | Anotações |
|---|---|---|---|
eizport/get-export-options |
O que pode ser exportado | export |
readonly |
eizport/get-items |
Uma página dos itens de um tipo | export |
readonly |
eizport/get-options |
As opções do site, uma a uma | export |
readonly |
eizport/get-suggestions |
O que os itens escolhidos sugerem | export |
readonly |
eizport/get-reviews |
Uma página de avaliações de produtos | export |
readonly |
eizport/export |
Exporta para uma cópia | export |
— |
eizport/get-copies |
As cópias mantidas | export |
readonly |
eizport/delete-copies |
Exclui cópias | export |
destructive, idempotent |
eizport/import |
Importa uma cópia ou um arquivo de mídia | import |
— |
eizport/get-export-defaults |
Os padrões salvos | export |
readonly |
eizport/save-export-defaults |
Salva os padrões | export (os do site: manage_options) |
idempotent |
eizport/clear-export-defaults |
Esquece os padrões | como acima | destructive |
eizport/get-settings |
As configurações do plugin | manage_options |
readonly |
eizport/update-settings |
Altera as configurações | manage_options |
idempotent |
eizport/get-export-options
Sem entrada. Retorna types (cada um com type, label, count, hierarchical, statuses e taxonomies com seus termos), option_groups (group, label, options), front_pages (IDs de front e posts), themes, plugins, copy_lifetime (segundos), filename (o nome padrão de hoje), linked (o modo das configurações vinculadas), bundle_zip e review_count (avaliações de produtos aprovadas; 0 sem o WooCommerce).
eizport/get-items
| Entrada | Tipo | |
|---|---|---|
type |
string, obrigatório | Um tipo de post de get-export-options |
search |
string | |
page, per_page |
integer | per_page até 100 |
orderby |
date | title | menu_order |
|
order |
asc | desc |
|
filters |
object | author, start_date/end_date (YYYY-MM), status, terms (IDs de termos) |
include |
integer[] | Só estes itens (nenhum: uma página vazia) |
Retorna items — id, title, status, date, parent, author, file (anexos), roles (option, label, with) — além de total e total_pages.
eizport/get-options
Entrada: search, group (uma chave de option_groups), names (só estas), page, per_page. Retorna items (name, size, value — numa linha, arrays como JSON, até 200 caracteres — autoload, post_id), total, total_pages. As opções que nunca são exportadas e os transients ficam de fora.
eizport/get-suggestions
Entrada: types (como o eizport/export os recebe) e whole (tipos de post escolhidos inteiros, o mesmo que {} em types). Retorna items (tipo de post → IDs que o conteúdo dos itens usa, por eizport_suggested_items), reviews (avaliações aprovadas dos produtos escolhidos) e options (configurações que apontam para os itens, a menos que Configurações vinculadas esteja em Nunca ou Na exportação). Nada é adicionado a uma exportação sozinho.
eizport/get-reviews
Entrada: search, include (só estas), page, per_page. Retorna items (id, author, product, product_title, rating, excerpt, date), total, total_pages; vazio sem o WooCommerce.
eizport/export
| Entrada | Tipo | Padrão |
|---|---|---|
types |
object: tipo de post → { "ids": [...] } ou { "filters": {...} } |
todo o conteúdo |
media |
boolean: arquivos de mídia dentro | true |
media_used |
boolean: mídia usada no conteúdo | true, a menos que Só mídia anexada |
post_content |
boolean: post_content/*.html |
Conteúdo como arquivos .html |
bundle |
boolean: false para o .xml simples do WordPress |
true |
zip |
boolean: .zip em vez de .wxrz |
Pacote como .zip |
options |
object: groups, names, all, front_pages, linked |
nenhuma |
blueprint |
object: themes, plugins — gera um .zip do Playground |
— |
as_plugin |
boolean: um .zip de plugin que importa o próprio pacote (como plugin); não com blueprint |
false |
update_existing |
boolean: pede à importação que atualize os itens que já existem (mesmo tipo e slug); fica gravado no pacote | false |
reviews |
object: ids (IDs de comentário; [] para nenhuma) ou all — avaliações de produtos do WooCommerce |
todas as avaliações dos produtos |
filename |
string, sem extensão | <site>.WordPress.<date> |
Retorna a cópia:
{
"name": "site-w9bjZ9pyEWxC8VMf.zip",
"format": "playground",
"size": 8178533,
"created": "2026-10-10T22:11:58+00:00",
"expires": "2026-10-11T22:11:58+00:00",
"download_url": "https://example.com/?eizport_playground=site-w9bjZ9pyEWxC8VMf.zip",
"playground_url": "https://playground.wordpress.net/?blueprint-url=…",
"command": "npx @wp-playground/cli@latest server --blueprint=./site-w9bjZ9pyEWxC8VMf.zip"
}
format é wxrz, zip, wxr, playground ou plugin; expires é "" para cópias mantidas até serem excluídas. Erros: eizport_invalid_type, eizport_invalid_options (uma opção que nunca é exportada), eizport_invalid_blueprint (um tema ou plugin não instalado), eizport_export_unavailable.
eizport/get-copies e eizport/delete-copies
get-copies retorna a lista de cópias, como acima. delete-copies recebe names (como get-copies os retorna) ou all: true, e retorna { "deleted": 3 }.
eizport/import
Entrada: copy (o nome de uma cópia) ou attachment_id (um .wxrz, .zip, .xml ou .xml.gz na biblioteca de mídia). update_existing (boolean) atualiza os itens que já existem (mesmo tipo e slug) em vez de adicionar cópias; padrão: o que o pacote pede. Precisa do Importador do WordPress instalado. Um plugin feito como plugin é recusado (eizport_plugin_zip): instale-o como plugin. Retorna posts (quantos o importador criou ou encontrou), options (os nomes definidos) e log (as mensagens do importador, como texto).
Padrões
eizport/get-export-defaults— sem entrada; retorna{ "types": …, "settings": … }ou{}.eizport/save-export-defaults— entradatypesesettings(o estado da tela Exportar:format,filename,media,option_names,option_groups,option_all,include_suggested,review_ids,review_all,as_plugin,update_existing,themes,plugins); retorna o que foi salvo, sanitizado.eizport/clear-export-defaults— sem entrada.
Configurações
eizport/get-settings retorna copy_lifetime, replace_export, classic_ui, style_import, content_files, attached_only, bundle_zip, defaults_scope, linked_options e as opções de escolha de cada um (lifetime_choices, scope_choices, linked_choices). eizport/update-settings recebe qualquer um deles (com valores dessas escolhas) e retorna todos; chaves desconhecidas são recusadas.