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
rapadura wp blueprints
rapadura wp create meetup-sobral --blueprint event --title "Meetup Sobral" --email voce@exemplo.com
--blueprint:blank(só o site),event(início, programação, palestrantes, local, inscrições),meetup,course. As páginas vêm com texto de exemplo para o agente substituir. Fora oblank, o blueprint também monta o menu do topo e o rodapé e apaga a "Sample Page" e o "Hello world!" do WordPress.--email: necessário só na primeira vez. Vira o e-mail da sua conta no WordPress e fica guardado.
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:
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.
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:
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
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
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
- Sites WordPress não têm versões nem
rollback; o histórico é o do próprio WordPress (revisões). - O espaço de upload por site é o da rede (hoje 100 MB).
- Só o domínio
rapadura.netpor enquanto. Domínio próprio ephpcomrapadura.orgpara sites WordPress vêm depois, com aprovação. - Toda chamada ao
wp-clifica no registro de auditoria com o comando completo. Não passe segredos em argumentos.