<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Cadu de Castro Alves</title>
    <description>The latest articles on DEV Community by Cadu de Castro Alves (@castroalves).</description>
    <link>https://dev.to/castroalves</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F146292%2Fd048e9f8-aacb-4148-ae3a-a08401231c84.jpeg</url>
      <title>DEV Community: Cadu de Castro Alves</title>
      <link>https://dev.to/castroalves</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/castroalves"/>
    <language>en</language>
    <item>
      <title>Como fazer backup apenas das imagens originais do WordPress com WP-CLI</title>
      <dc:creator>Cadu de Castro Alves</dc:creator>
      <pubDate>Thu, 27 Feb 2020 21:06:17 +0000</pubDate>
      <link>https://dev.to/portugues/como-fazer-backup-apenas-das-imagens-originais-do-wordpress-com-wp-cli-1mkd</link>
      <guid>https://dev.to/portugues/como-fazer-backup-apenas-das-imagens-originais-do-wordpress-com-wp-cli-1mkd</guid>
      <description>&lt;p&gt;Sou membro de uma comunidade de WordPress no WhatsApp. Hoje, um membro fez a seguinte pergunta:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"Eu preciso fazer um backup de todas as imagens de um site, mas apenas das originais. Eu não preciso das miniaturas (thumbnails). Alguém sabe como fazer isso?"&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  TL;DR
&lt;/h2&gt;

&lt;p&gt;Se você estiver com pressa e não tiver tempo para ler todo o artigo, basta executar os seguintes comandos em seu Terminal.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;# Usando o WP-CLI, para exportar a URLs de todas as imagens originais do seu site em um arquivo txt.
$ wp post list --post_type=attachment --field=guid &amp;gt; wp-content/uploads/imagens.txt
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;





&lt;div class="highlight"&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;# Usando o wget, para baixar todas as imagens de uma só vez pro seu computador (ou servidor):
$ wget -i https://seusite.com/wp-content/uploads/imagens.txt
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;p&gt;Se você pesquisar no Google "como fazer backup das imagens originais no WordPress" ou algo parecido, você vai encontrar vários artigos sobre como fazer na backup de imagens, mas &lt;em&gt;não apenas&lt;/em&gt; as imagens originais.&lt;/p&gt;

&lt;p&gt;Toda vez que você faz upload de uma imagem em um site feito com WordPress, normalmente ele armazena o arquivo original, além de versões desse arquivo em diferentes tamanhos.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;-rw-r--r--   1 user  group    5845 Feb 25 18:07 foto-01-150x150.jpg
-rw-r--r--   1 user  group   20045 Feb 25 18:07 foto-01-300x300.jpg
-rw-r--r--   1 user  group  115432 Feb 25 18:07 foto-01-768x768.jpg
-rw-r--r--   1 user  group  164387 Feb 25 18:07 foto-01.jpg
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;p&gt;Na lista acima, o arquivo original é o &lt;code&gt;foto-01.jpg&lt;/code&gt;. Os outros 3 arquivos são miniaturas dessa imagem nos tamanhos 150x150 pixels, 300x300 pixels e 768 x 768 pixels, respectivamente.&lt;/p&gt;

&lt;p&gt;O exemplo acima eu retirei de um site que está usando o tema &lt;a href="https://wordpress.org/themes/twentytwenty/"&gt;Twenty Twenty&lt;/a&gt;. As miniaturas geradas dependem do tema que você está usando.&lt;/p&gt;

&lt;p&gt;Mas identificar as imagens originais é apenas uma etapa do processo, pois outro grande problema é que o WordPress normalmente armazena os arquivos em sub-pastas seguindo o formato &lt;em&gt;AAAA/MM&lt;/em&gt;, onde AAAA é o ano com 4 dígitos e MM é o mês com 2 dígitos.&lt;/p&gt;

&lt;p&gt;Então se você fizer upload de uma imagem no dia 20 de fevereiro de 2020, ele deve armazená-la na pasta &lt;code&gt;wp-content/uploads/2020/02/&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;Se o seu site foi criado em janeiro de 2019 e você fez upload de pelo menos um arquivo por mês, sua pasta uploads deve de ter uma pasta 2019 com 12 sub-pastas para cada mês do ano.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;wp-content/uploads/2019/01/
wp-content/uploads/2019/02/
wp-content/uploads/2019/03/
...
wp-content/uploads/2019/10/
wp-content/uploads/2019/11/
wp-content/uploads/2019/12/
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;p&gt;Então, dependendo de quantas imagens o seu site tiver, você pode levar horas ou até dias para fazer o backup dessas imagens!&lt;/p&gt;

&lt;p&gt;Mas calma, porque a solução é mais simples do que você pode imaginar!&lt;/p&gt;

&lt;h2&gt;
  
  
  Como baixar múltiplos arquivos de uma só vez?
&lt;/h2&gt;

&lt;p&gt;Se você usa macOS, Linux, ou WSL no Windows, é possível fazer download de múltiplos arquivos de uma só vez usando o comando &lt;code&gt;wget -i arquivo.txt&lt;/code&gt;, onde &lt;strong&gt;arquivo.txt&lt;/strong&gt; é um arquivo contendo uma lista de URLs, mas cada uma delas em uma linha separada.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;https://seusite.com/wp-content/uploads/imagem-01.jpg
https://seusite.com/wp-content/uploads/imagem-02.jpg
https://seusite.com/wp-content/uploads/imagem-03.jpg
https://seusite.com/wp-content/uploads/imagem-04.jpg
https://seusite.com/wp-content/uploads/imagem-05.jpg
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;p&gt;Agora que já sabemos como baixar tudo de uma vez só, precisamos descobrir como pegar as URLs de todas as imagens originais de um site em WordPress.&lt;/p&gt;

&lt;h2&gt;
  
  
  WP-CLI é a solução!
&lt;/h2&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;a href="https://wp-cli.org/"&gt;WP-CLI&lt;/a&gt; é uma interface de linha de comando para WordPress. Você pode atualizar plugins, configurar instalações multisite e muito mais, sem usar um navegador.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;O WP-CLI é uma ferramenta super poderosa para gerenciar um site em WordPress através da linha de comando.&lt;/p&gt;

&lt;p&gt;Pra exportar as URLs das imagens em um arquivo, basta executar o seguinte comando em seu Terminal:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;$ wp post list --post_type=attachment --field=guid &amp;gt; wp-content/uploads/imagens.txt
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;p&gt;Agora vou explicar cada parte desse comando:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;code&gt;wp post list&lt;/code&gt; é um comando para listar todos os posts no WordPress&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;--post_type=attachment&lt;/code&gt; é um argumento pra retornar apenas os arquivos&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;--field=guid&lt;/code&gt; é um argumento pra retornar a URL de cada um desses arquivos&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;&amp;gt; wp-content/uploads/imagens.txt&lt;/code&gt; é um comando para exportar o resultado do comando &lt;code&gt;wp post list --post_type=attachment --field=guid&lt;/code&gt; em um arquivo chamado &lt;code&gt;imagens.txt&lt;/code&gt; e armazená-lo na pasta &lt;code&gt;wp-content/uploads/&lt;/code&gt;.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Como baixar as imagens de uma só vez (e fazer o backup)
&lt;/h2&gt;

&lt;p&gt;Após rodar o comando acima, você deve ter um arquivo localizado em &lt;code&gt;https://seusite.com/wp-content/uploads/images.txt&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;Agora, abra novamente seu terminal, execute o comando &lt;code&gt;cd&lt;/code&gt; até a pasta onde você quer baixar as imagens, e execute o seguinte comando:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;$ wget -i https://seusite.com/wp-content/uploads/imagens.txt
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;p&gt;Assim que você pressionar Enter/Return, o &lt;code&gt;wget&lt;/code&gt; vai baixar todas as imagens contidas no arquivo &lt;em&gt;images.txt&lt;/em&gt; para a pasta do computador (ou servidor) onde você executou esse comando.&lt;/p&gt;

&lt;p&gt;Você pode baixar as imagens para suas pastas do Dropbox, OneDrive, Google Drive, iCloud, ou qualquer outro serviço de armazenamento de arquivos.&lt;/p&gt;

&lt;p&gt;E pronto! Seu backup estará concluído!&lt;/p&gt;

</description>
      <category>wordpress</category>
      <category>wpcli</category>
      <category>productivity</category>
    </item>
    <item>
      <title>How to backup only original images of your WordPress site using WP-CLI</title>
      <dc:creator>Cadu de Castro Alves</dc:creator>
      <pubDate>Tue, 25 Feb 2020 18:17:50 +0000</pubDate>
      <link>https://dev.to/castroalves/how-to-backup-only-original-images-of-your-wordpress-site-using-wp-cli-4e8f</link>
      <guid>https://dev.to/castroalves/how-to-backup-only-original-images-of-your-wordpress-site-using-wp-cli-4e8f</guid>
      <description>&lt;p&gt;I'm member of a WordPress community on WhatsApp. Today, one member raised the following question:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"I need to create a backup of all images of a website, but only the original ones. I don't need the thumbnails. Does anybody know how to do that?"&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;If you Google about "how to backup full images on WordPress" or something similar, you will find a lot of posts about backing up images, but &lt;strong&gt;not&lt;/strong&gt; only the original ones.&lt;/p&gt;

&lt;p&gt;Then, I've discovered that it's possible to download multiple files at once using &lt;code&gt;wget -i filename.txt&lt;/code&gt;. &lt;strong&gt;filename.txt&lt;/strong&gt; file should contain a list of URLs, but each one must be in a separate line.&lt;/p&gt;

&lt;p&gt;But how could I get a list of ALL full images of a WordPress site?&lt;/p&gt;

&lt;h2&gt;
  
  
  WP-CLI to the rescue!
&lt;/h2&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;a href="https://wp-cli.org/"&gt;WP-CLI&lt;/a&gt; is the command-line interface for WordPress. You can update plugins, configure multisite installations and much more, without using a web browser.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;For this task, we need to find a way to list the URLs of all original images and save them into a file.&lt;/p&gt;

&lt;p&gt;We can do that by running only one command:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;$ wp post list --post_type=attachment --field=guid &amp;gt; wp-content/uploads/images.txt
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;p&gt;Let me explain each part of this command:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;code&gt;wp post list&lt;/code&gt; is a command to list all WordPress posts&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;--post_type=attachment&lt;/code&gt; is an argument to retrieve only images&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;--field=guid&lt;/code&gt; is an argumento to retrieve the URL of each image&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;&amp;gt; wp-content/upload/images.txt&lt;/code&gt; is a command to output the result of &lt;code&gt;wp post list --post_type=attachment --field=guid&lt;/code&gt; into a file.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  How to download the images (and create a backup)
&lt;/h2&gt;

&lt;p&gt;After running the command above, you should have a file located at &lt;code&gt;https://yousite.com/wp-content/uploads/images.txt&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;Now, you should go back to your terminal, &lt;code&gt;cd&lt;/code&gt; to the folder you want to download the files, and type the following command:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;$ wget -i https://yousite.com/wp-content/uploads/images.txt
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;p&gt;As soon as you hit Enter/Return, &lt;code&gt;wget&lt;/code&gt; you start to download all the images contained in &lt;strong&gt;images.txt&lt;/strong&gt; file to the computer (or server) you're running this command.&lt;/p&gt;

&lt;p&gt;Voila!&lt;/p&gt;

</description>
      <category>wordpress</category>
      <category>wpcli</category>
      <category>productivity</category>
    </item>
    <item>
      <title>Vanilla JavaScript Infinite Scroll using WordPress REST API</title>
      <dc:creator>Cadu de Castro Alves</dc:creator>
      <pubDate>Thu, 14 Nov 2019 22:42:22 +0000</pubDate>
      <link>https://dev.to/castroalves/vanilla-javascript-infinite-scroll-using-wordpress-rest-api-2pjl</link>
      <guid>https://dev.to/castroalves/vanilla-javascript-infinite-scroll-using-wordpress-rest-api-2pjl</guid>
      <description>&lt;p&gt;This pen is a real example of how to build an Infinite Scroll
in Vanilla JavaScript. I've used Fetch API, Intersection Observer API, and WordPress REST API to fetch posts. Feel free to fork, use, and modify this code.&lt;/p&gt;

&lt;p&gt;&lt;iframe height="600" src="https://codepen.io/castroalves/embed/YdGyKY?height=600&amp;amp;default-tab=result&amp;amp;embed-version=2"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

</description>
      <category>javascript</category>
      <category>wordpress</category>
      <category>showdev</category>
      <category>tutorial</category>
    </item>
  </channel>
</rss>
