rapadura PHP Com Rapadura
Nesta página

Sites WordPress

Além dos hotsites estáticos, o rapadura cria sites WordPress dentro do multisite de rapadura.net. Serve para quem prefere editar conteúdo no WordPress, ou para o agente montar o site pela API REST e pelo wp-cli.

Cada site é um subsite nome.rapadura.net. Você é administrador só dele. O tema e os plugins disponíveis são os que o administrador liberou na rede; hoje o tema é o Twenty Twenty-Five.

Esta página é a referência. O passo a passo, com conteúdo, menu, rodapé, imagens e co-organizador, está em Receitas: WordPress.

Criar

shell
rapadura wp blueprints
rapadura wp create meetup-sobral --blueprint event --title "Meetup Sobral" --email voce@exemplo.com

A resposta traz o endereço, o endereço do wp-admin, o seu login no WordPress (derivado do GitHub, só letras e dígitos) e uma senha de aplicativo mostrada uma única vez. Ela dá ao seu agente acesso à API REST como você, só nesse site. Guarde como um token; se vazar, revogue no perfil do WordPress.

Editar pela API REST

Com o login e a senha de aplicativo, qualquer cliente HTTP funciona:

shell
curl -u "seulogin:xxxx xxxx xxxx xxxx xxxx xxxx" \
  https://meetup-sobral.rapadura.net/wp-json/wp/v2/pages

Para criar páginas, enviar imagens, montar menus, mude o endpoint. A documentação da API é a do WordPress mesmo. A senha só tem poder neste site: nos outros sites da rede você não tem papel, e qualquer escrita é recusada. Exemplos de upload e de páginas em Receitas: WordPress.

Editar pelo wp-cli

Tudo depois de -- vai para o wp-cli, já preso ao seu site e ao seu usuário. Não passe --url, --path nem --user; o gateway define.

shell
rapadura wp meetup-sobral -- post list --post_type=page --format=json
rapadura wp meetup-sobral -- post create --post_type=page --post_title="Patrocínio" --post_status=publish
rapadura wp meetup-sobral -- post update 4 --post_content="$(cat programacao.html)"
rapadura wp meetup-sobral -- option update blogdescription "Comunidade PHP do Ceará"
rapadura wp meetup-sobral -- media import https://exemplo.com/banner.png --title="Banner"
rapadura wp meetup-sobral -- cache flush

O wp-cli roda no servidor. Por isso, arquivos do seu computador entram como conteúdo (--post_content="$(cat arquivo.html)") ou pela API REST, nunca pelo nome: post create arquivo.html e media import ./foto.jpg são recusados. E como o tema é de blocos, o menu do topo é um post wp_navigation, não um menu do wp menu; veja Receitas: WordPress.

A saída e o código de saída são os do wp-cli. Com --json você recebe stdout, stderr e exit_code separados.

O que é permitido

A regra geral: tudo que fica dentro do seu site é liberado; tudo que alcança a rede, outros sites, outras contas ou arquivos do servidor é recusado, com o motivo e uma dica.

comando liberado observação
post tudo, menos edit e generate create/update não leem arquivo: use --post_content
post-type, taxonomy, term, comment, menu, widget, sidebar, transient, rewrite, embed, help tudo term/comment generate não
export com --stdout o WXR volta para você; gravar no servidor (--dir, --filename_format) é recusado
option tudo menos alterar upload_path, upload_url_path e active_plugins (use plugin activate)
media tudo import só de URLs http(s)
search-replace sim sempre só nas tabelas do seu site: o rapadura acrescenta wp_N_*; sem --export=arquivo/--log=arquivo
cache flush, type
cron event list, event run, schedule list, test agendar eventos novos não
user list, create, add-role, set-role, remove-role para a sua senha e credenciais: rapadura wp password / rapadura wp credentials
plugin list, get, status, activate, deactivate... instalar, atualizar ou remover não; activate só da lista abaixo
theme list, get, status, activate, mod... instalar, atualizar ou remover não

plugin activate segue uma lista. O administrador pode definir os plugins liberados no seu site; quando o site não tem lista própria, vale a lista da rede. Plugin fora da lista é recusado com wp_refused, e a dica nomeia os liberados; --all é recusado sempre que há lista. rapadura sites show <site> mostra a lista do seu site.

Recusados sempre: eval, eval-file, shell, db, config, core, network, site, super-admin, import, language, maintenance-mode, package, scaffold, e as flags --network, --all-tables, --blog_id, --url, --path, --user, --require, --exec, --ssh, --http. Comando que não está na lista é recusado até o administrador liberar.

Entrar no wp-admin

Sua conta no WordPress nasce sem senha conhecida. Para entrar pelo navegador:

shell
rapadura wp password meetup-sobral

Mostra uma senha nova uma única vez. Ela vale para o seu usuário em toda a rede (você só tem acesso aos seus sites). Troque no perfil se quiser.

Credenciais novas

shell
rapadura wp credentials meetup-sobral

Gera outra senha de aplicativo. As antigas continuam valendo até você revogar no perfil do WordPress.

A senha de aplicativo é da sua conta no WordPress, não de um site: ela vale em todos os sites da rede onde você tem um papel (os seus sites) e não tem permissão em nenhum outro.

Tirar do ar

shell
rapadura sites delete meetup-sobral --yes

O site é arquivado, não apagado: visitantes veem um aviso, o conteúdo fica guardado e rapadura sites restore meetup-sobral traz tudo de volta.

Limites e cuidados