Quero automatizar a atualização das opções do plug-in. Há algumas coisas que repito muito.
Com o wp-cli , sei que posso atualizar opções simples como esta:
php wp-cli.phar option update blog_public 1
No entanto, algumas opções de plug-in salvam suas opções em uma sequência serializada.
Exemplo de option_value serializado em wp_options:
a:9:{s:4:"from";s:21:"[email protected]";s:8:"fromname";s:51:"xxx";s:4:"host";s:13:"smtp.xx.com";s:10:"smtpsecure";s:3:"ssl";s:4:"port";s:3:"465";s:8:"smtpauth";s:3:"yes";s:8:"username";s:21:"[email protected]";s:8:"password";s:13:"xxx";s:10:"deactivate";s:0:"";}
Como atualizar essas opções?
option update
linha entre aspas simples. Ver a minha aplicação na linha 61 aqui: gist.github.com/squarecandy/cfdead55ca1d84496044O WP-CLI é definitivamente a resposta para isso após a atualização para a 1.4.0, que introduziu os comandos de remoção e correção para acessar dados serializados no WordPress.
O comando pluck usa esse formato para capturar valores serializados
Por exemplo, na opção active_plugins, você pode pegar o primeiro item
O comando patch usa esse formato para inserir, atualizar ou remover valores serializados (a ação)
Excluir o primeiro active_plugin ficaria assim
A mesma ação e correção também foram adicionadas a outros comandos, como o postmeta; agora você pode usar o WP-CLI para fazer alguns loops legais para atualizar programaticamente os dados serializados do WordPress.
fonte
Aqui está como eu faço isso em um script bash:
fonte
O comando WP-CLI
option
usa a API de opções do WordPress para fazer seu trabalho. Dado, por exemplo, com o subcomandoupdate
, uma entrada corretaarray
e você deve conseguir fazer isso com o WP-CLI. Você deve usar o--format
parâmetro aqui, para garantir o mesmo,json
geralmente funciona bem para oupdate
subcomando. Observe que o subcomandoget
deve retornar a opção não serializada, porque a API Options é usada, que você pode salvar, modificar e / ou transferir / configurar em outras / novas instalações.fonte
wp option get wp_smtp_options > savedconfiguration.txt
wp option update wp_smtp_options < savedconfiguration.txt
primeiro comando salva como matriz, mas o segundo não aceita uma matriz. Eu acho que eu deveria serializá-lo primeiro, você sabe como fazer isso?format
parâmetro? @lalo edit: apenas vi você descobri-lo ..format
parâmetro. Gostaria de saber se isso seria possível sem ter que usar um arquivo intermediário, como escrevi na minha resposta.format
parâmetro, que às vezes difere do comando (sub) para o comando (sub). Certamente é possível, por exemplo, escrevendo um script bash e armazenando os dados em uma variável. @lalo--format
as opções disponíveis: github.com/wp-cli/wp-cli/blob/master/php/commands/...