{"id":233116,"date":"2023-02-04T13:40:00","date_gmt":"2023-02-04T10:40:00","guid":{"rendered":"https:\/\/wordpress.mediadoma.com\/?p=233116"},"modified":"2023-02-04T13:43:37","modified_gmt":"2023-02-04T10:43:37","slug":"come-pubblicare-automaticamente-un-post-sul-blog-sui-social-network-la-soluzione-universale-con-ifttt-e-crontab","status":"publish","type":"post","link":"https:\/\/wordpress.mediadoma.com\/it\/come-pubblicare-automaticamente-un-post-sul-blog-sui-social-network-la-soluzione-universale-con-ifttt-e-crontab\/","title":{"rendered":"Come pubblicare automaticamente un post sul blog sui social network? La soluzione universale con IFTTT e Crontab"},"content":{"rendered":"\n<p>Pubblicare regolarmente i post sui social network aiuta ad aumentare il traffico del sito in modo efficace, ad esempio <a href=\"https:\/\/helloacm.com\/facebook-crawler-uses-ipv6\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Facebook<\/a>, <a href=\"https:\/\/helloacm.com\/php-function-to-post-to-twitter\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Twitter<\/a>, <a href=\"https:\/\/helloacm.com\/how-to-download-tumblr-video-with-php-script-chrome-extensions-online-tool\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Tumblr<\/a>. \u00c8 certamente positivo se riusciamo ad automatizzare questo processo. Con l&#8217;uso di <a href=\"https:\/\/helloacm.com\/how-to-tweet-when-server-restarts-using-ifttt-maker-event-trigger\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">IFTTT<\/a> e crontab, questo diventa facile.<\/p>\n<h2>Canale IFTTT Maker<\/h2>\n<p>Il canale Maker in IFTTT pu\u00f2 essere attivato &quot;ricevendo una richiesta web&quot; e supporta fino a 3 parametri, ovvero value1, value2 e value3 nel formato <a href=\"https:\/\/helloacm.com\/how-to-get-notified-when-vultr-balance-is-falling-below-threshold\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">JSON<\/a>. Ad esempio, puoi richiamare l&#8217;evento SayHi con due parametri {&#8220;value1\u2033:&quot;Hello&quot;,&#8221;value2\u2033:&#8221;Computing&#8221;}.<\/p>\n<pre><code>curl -X POST -H \"Content-Type: application\/json\" -d '{\"value1\":\"Hello\",\"value2\":\"Computing\"}' &lt;a class=\"vglnk\" target=\"_blank\" href=\"https:\/\/maker.ifttt.com\/trigger\/{SayHi}\/with\/key\/REPLACE_KEY\" rel=\"nofollow\"&gt;&lt;span&gt;https&lt;\/span&gt;&lt;span&gt;:\/\/&lt;\/span&gt;&lt;span&gt;maker&lt;\/span&gt;&lt;span&gt;.&lt;\/span&gt;&lt;span&gt;ifttt&lt;\/span&gt;&lt;span&gt;.&lt;\/span&gt;&lt;span&gt;com&lt;\/span&gt;&lt;span&gt;\/&lt;\/span&gt;&lt;span&gt;trigger&lt;\/span&gt;&lt;span&gt;\/{&lt;\/span&gt;&lt;span&gt;SayHi&lt;\/span&gt;&lt;span&gt;}\/&lt;\/span&gt;&lt;span&gt;with&lt;\/span&gt;&lt;span&gt;\/&lt;\/span&gt;&lt;span&gt;key&lt;\/span&gt;&lt;span&gt;\/&lt;\/span&gt;&lt;span&gt;REPLACE&lt;\/span&gt;&lt;span&gt;_&lt;\/span&gt;&lt;span&gt;KEY&lt;\/span&gt;&lt;\/a&gt;<\/code><\/pre>\n<h2>Inserimento su social network tramite IFTTT<\/h2>\n<p>\u00c8 semplice creare una nuova applet (regola <a href=\"https:\/\/helloacm.com\/how-to-automatically-restart-mysql-server-in-the-event-of-crash\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">IFTTT<\/a>) con Maker e il social network di tua scelta, ad esempio <a href=\"https:\/\/helloacm.com\/how-to-ban-and-make-a-user-unlike-your-facebook-page\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Facebook<\/a>. Inoltre, \u00e8 necessario specificare il nome dell&#8217;evento affinch\u00e9 Maker funzioni (che \u00e8 la parte &quot;questa&quot; dell&#8217;IFTTT).<\/p>\n<p>maker-ricevere-una-richiesta-web<\/p>\n<p>Quindi, \u00e8 necessario specificare l&#8217;azione (che \u00e8 la parte &quot;quella&quot; di <a href=\"https:\/\/helloacm.com\/how-to-save-gmail-attachments-backup-to-dropbox-folder-using-ifttt\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">IFTTT<\/a> ).<\/p>\n<p><a href=\"https:\/\/wordpress.mediadoma.com\/wp-content\/uploads\/2022\/01\/post-155037-61e552650c6d0.jpg\" data-rel=\"lightbox\"><img decoding=\"async\" class=\"SDStudio-light-box-enable SDStudio-editor-tools-md-imp\" src=\"https:\/\/wordpress.mediadoma.com\/wp-content\/uploads\/2022\/01\/post-155037-61e552650c6d0.jpg\" alt=\"Come pubblicare automaticamente un post sul blog sui social network? La soluzione universale con IFTTT e Crontab\"><\/a><\/p>\n<p>configurazione del produttore dei parametri value1, value2 e value3<\/p>\n<h2>Script PHP automatico<\/h2>\n<p>Ora possiamo scrivere uno script PHP per automatizzare questo: scegli un post (ad esempio casuale o per ID) che non \u00e8 stato pubblicato negli ultimi 90 giorni ad esempio, inserisci il collegamento nel database e invoca il canale Maker che attiva la regola per pubblicare sul social network di tua scelta.<\/p>\n<p>Per WordPress, se scegliamo un post casuale, lo <a href=\"https:\/\/wordpress.mediadoma.com\/it\/script-php-per-proteggere-le-cartelle-di-wordpress-impostando-le-autorizzazioni-file-corrette\/\" title=\"script PHP\">script PHP<\/a> sar\u00e0 qualcosa del genere:<\/p>\n<pre><code>&lt;?php\n\u00a0 \/\/ &lt;a class=\"vglnk\" target=\"_blank\" href=\"https:\/\/helloacm.com\/how-to-prevent-script-running-from-browsers\/\" rel=\"nofollow\"&gt;&lt;span&gt;https&lt;\/span&gt;&lt;span&gt;:\/\/&lt;\/span&gt;&lt;span&gt;helloacm&lt;\/span&gt;&lt;span&gt;.&lt;\/span&gt;&lt;span&gt;com&lt;\/span&gt;&lt;span&gt;\/&lt;\/span&gt;&lt;span&gt;how&lt;\/span&gt;&lt;span&gt;-&lt;\/span&gt;&lt;span&gt;to&lt;\/span&gt;&lt;span&gt;-&lt;\/span&gt;&lt;span&gt;prevent&lt;\/span&gt;&lt;span&gt;-&lt;\/span&gt;&lt;span&gt;script&lt;\/span&gt;&lt;span&gt;-&lt;\/span&gt;&lt;span&gt;running&lt;\/span&gt;&lt;span&gt;-&lt;\/span&gt;&lt;span&gt;from&lt;\/span&gt;&lt;span&gt;-&lt;\/span&gt;&lt;span&gt;browsers&lt;\/span&gt;&lt;span&gt;\/&lt;\/span&gt;&lt;\/a&gt;\n\u00a0 require('deny-from-web.php'); \/\/ avoid calling from the web URL, \n\u00a0 require('db.php'); \u00a0\n\u00a0 $connection = mysqli_connect(DB_HOST, DB_USER, DB_PASSWORD, \"blog_database\");\n\u00a0 $today = date(\"Y-m-d h:i:s\");\n\u00a0 $query = \"select \n \u00a0 \u00a0 \u00a0 \u00a0count(1)\n \u00a0 \u00a0 \u00a0from \n \u00a0 \u00a0 \u00a0 \u00a0`wp_posts`\n \u00a0 \u00a0 \u00a0where \n \u00a0 \u00a0 \u00a0 \u00a0(`post_type` = 'post') and \n \u00a0 \u00a0 \u00a0 \u00a0(`post_status` = 'publish')\n \u00a0\";\n\u00a0 $result = mysqli_query($connection, $query);\n\u00a0 $row = mysqli_fetch_row($result);\n\u00a0 $total = $row[0];\n\u00a0 $cnt = 0;\n\u00a0 if ($total &gt; 0) {\n\u00a0 \u00a0 while (1) {\n\u00a0 \u00a0 \u00a0 $idx = mt_rand(0, $total - 1);\n\u00a0 \u00a0 \u00a0 $query = \"\n \u00a0 \u00a0 \u00a0 \u00a0select \n \u00a0 \u00a0 \u00a0 \u00a0 \u00a0`post_name`, `ID`, `post_title` \n \u00a0 \u00a0 \u00a0 \u00a0from \n \u00a0 \u00a0 \u00a0 \u00a0 \u00a0`wp_posts`\n \u00a0 \u00a0 \u00a0 \u00a0where \n \u00a0 \u00a0 \u00a0 \u00a0 \u00a0(`post_type` = 'post') and \n \u00a0 \u00a0 \u00a0 \u00a0 \u00a0(`post_status` = 'publish')\n \u00a0 \u00a0 \u00a0 \u00a0limit $idx, 1\n \u00a0 \u00a0 \u00a0\";\n\u00a0 \u00a0 \u00a0 $result = mysqli_query($connection, $query);\n\u00a0 \u00a0 \u00a0 $row = mysqli_fetch_array($result);\n\u00a0 \u00a0 \u00a0 $url = \"&lt;a class=\"vglnk\" target=\"_blank\" href=\"https:\/\/helloacm.com\/\".$row['post_name\" rel=\"nofollow\"&gt;&lt;span&gt;https&lt;\/span&gt;&lt;span&gt;:\/\/&lt;\/span&gt;&lt;span&gt;helloacm&lt;\/span&gt;&lt;span&gt;.&lt;\/span&gt;&lt;span&gt;com&lt;\/span&gt;&lt;span&gt;\/\".$&lt;\/span&gt;&lt;span&gt;row&lt;\/span&gt;&lt;span&gt;['&lt;\/span&gt;&lt;span&gt;post&lt;\/span&gt;&lt;span&gt;_&lt;\/span&gt;&lt;span&gt;name&lt;\/span&gt;&lt;\/a&gt;']. '\/';\n\u00a0 \u00a0 \u00a0 $title = $row['post_title'];\n\u00a0 \u00a0 \u00a0 $query2 = \"select date(`posttime`) from `twitter` where `url` = '$url' order by `posttime` desc limit 1\";\n\u00a0 \u00a0 \u00a0 $result2 = mysqli_query($connection, $query2);\n\u00a0 \u00a0 \u00a0 if (mysqli_num_rows($result2) &gt; 0) {\n\u00a0 \u00a0 \u00a0 \u00a0 $lastrow = mysqli_fetch_row($result2);\n\u00a0 \u00a0 \u00a0 \u00a0 $last = $lastrow[0];\n\u00a0 \u00a0 \u00a0 \u00a0 $diff = abs((strtotime($today) - strtotime($last)) \/ 24 \/ 3600);\n\u00a0 \u00a0 \u00a0 \u00a0 if ($diff &lt;= 90) {\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 $cnt ++;\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 if ($cnt &gt; 16) {\/\/ avoid endless loop\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 break;\u00a0 \n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 }\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 continue;\n\u00a0 \u00a0 \u00a0 \u00a0 }\n\u00a0 \u00a0 \u00a0 }\n\u00a0 \u00a0 \u00a0 $query = \"\n \u00a0 \u00a0 \u00a0 \u00a0insert into `twitter`\n \u00a0 \u00a0 \u00a0 \u00a0set \n \u00a0 \u00a0 \u00a0 \u00a0 \u00a0`url` = '$url',\n \u00a0 \u00a0 \u00a0 \u00a0 \u00a0`posttime` = '$today'\n \u00a0 \u00a0 \u00a0\";\n\u00a0 \u00a0 \u00a0 mysqli_query($connection, $query);\n\u00a0 \u00a0 \u00a0 $msg = $title; \u00a0 \u00a0 \u00a0\n\u00a0 \u00a0 \u00a0 $value1 = $url;\n\u00a0 \u00a0 \u00a0 $value2 = $title;\n\u00a0 \u00a0 \u00a0 echo \"value2 = \". $value2. \" n\";\n\u00a0 \u00a0 \u00a0 echo \"value1 = \". $value1. \" n\"; \u00a0 \u00a0 \u00a0 \u00a0 \n\u00a0 \u00a0 \u00a0 \/\/ invoke the IFTTT Maker Channel \u00a0 \u00a0\n\u00a0 \u00a0 \u00a0 shell_exec(\"curl -s -X POST -H \"Content-Type: application\/json\" -d '{\"value1\":\"$value1\",\"value2\":\"$value2\"}' &lt;a class=\"vglnk\" target=\"_blank\" href=\"https:\/\/maker.ifttt.com\/trigger\/{justyy}\/with\/key\/YOUR_KEY\" rel=\"nofollow\"&gt;&lt;span&gt;https&lt;\/span&gt;&lt;span&gt;:\/\/&lt;\/span&gt;&lt;span&gt;maker&lt;\/span&gt;&lt;span&gt;.&lt;\/span&gt;&lt;span&gt;ifttt&lt;\/span&gt;&lt;span&gt;.&lt;\/span&gt;&lt;span&gt;com&lt;\/span&gt;&lt;span&gt;\/&lt;\/span&gt;&lt;span&gt;trigger&lt;\/span&gt;&lt;span&gt;\/{&lt;\/span&gt;&lt;span&gt;justyy&lt;\/span&gt;&lt;span&gt;}\/&lt;\/span&gt;&lt;span&gt;with&lt;\/span&gt;&lt;span&gt;\/&lt;\/span&gt;&lt;span&gt;key&lt;\/span&gt;&lt;span&gt;\/&lt;\/span&gt;&lt;span&gt;YOUR&lt;\/span&gt;&lt;span&gt;_&lt;\/span&gt;&lt;span&gt;KEY&lt;\/span&gt;&lt;\/a&gt;\");\n\u00a0 \u00a0 \u00a0 break;\n\u00a0 \u00a0 }\n\u00a0 }\n\u00a0 echo \"Done!n\";<\/code><\/pre>\n<p>Affinch\u00e9 quanto sopra funzioni, \u00e8 necessario creare una tabella per archiviare gli articoli pubblicati (tramite <a href=\"https:\/\/wordpress.mediadoma.com\/it\/come-stampare-il-riepilogo-della-tabella-mysql-utilizzando-php\/\" title=\"MySQL\">MySQL<\/a> ):<\/p>\n<pre><code>--\n-- Table structure for table `twitter`\n--\n\nCREATE TABLE `twitter` (`id` bigint(32) NOT NULL,\n  `url` varchar(255) NOT NULL,\n  `posttime` date NOT NULL) ENGINE=MyISAM DEFAULT CHARSET=latin1;\n\n--\n-- Indexes for dumped tables\n--\n\n--\n-- Indexes for table `twitter`\n--\nALTER TABLE `twitter`\n  ADD PRIMARY KEY (`id`),\n  ADD KEY `urla` (`url`),\n  ADD KEY `dd` (`posttime`);\n\n--\n-- AUTO_INCREMENT for dumped tables\n--\n\n--\n-- AUTO_INCREMENT for table `twitter`\n--\nALTER TABLE `twitter`\n  MODIFY `id` bigint(32) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=11;<\/code><\/pre>\n<h2>Configurazione Crontab per la pubblicazione automatica di blog<\/h2>\n<p>Il passaggio finale dopo aver testato lo script sopra \u00e8 aggiungere il <a href=\"https:\/\/helloacm.com\/escape-linux-command-to-prevent-security-holes-from-php-shell_exec-function\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">comando PHP<\/a> ai lavori <a href=\"https:\/\/helloacm.com\/php-script-to-test-crontab\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">crontab<\/a>. \u00c8 possibile configurare la frequenza ad es. @giornaliera o @settimanale, @mensile ecc.<\/p>\n<pre><code>@daily php \/path-to-your-script\/ifftt-post-blog.php<\/code><\/pre>\n<p><div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">Fonte di registrazione:  <a target=\"_blank\" rel=\"noopener nofollow\" href=\"\/\/helloacm.com\" class=\"external external_icon\">helloacm.com<\/a><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Come pubblicare automaticamente un post sul blog sui social network? La soluzione universale con IFTTT e Crontab<\/p>\n","protected":false},"author":1,"featured_media":224083,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_wp_rev_ctl_limit":""},"categories":[896,835,751,814,1019,783,720,844,865],"tags":[1168],"class_list":["post-233116","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-codice","category-guida-per-principianti","category-open-source-projektmanagement-3","category-plugin-2","category-siti-utili","category-software-open-source","category-sviluppatore","category-tutorial","category-wordpress-6","tag-affiai-it"],"_links":{"self":[{"href":"https:\/\/wordpress.mediadoma.com\/it\/wp-json\/wp\/v2\/posts\/233116","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.mediadoma.com\/it\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wordpress.mediadoma.com\/it\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/it\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/it\/wp-json\/wp\/v2\/comments?post=233116"}],"version-history":[{"count":0,"href":"https:\/\/wordpress.mediadoma.com\/it\/wp-json\/wp\/v2\/posts\/233116\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/it\/wp-json\/wp\/v2\/media\/224083"}],"wp:attachment":[{"href":"https:\/\/wordpress.mediadoma.com\/it\/wp-json\/wp\/v2\/media?parent=233116"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/it\/wp-json\/wp\/v2\/categories?post=233116"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/it\/wp-json\/wp\/v2\/tags?post=233116"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}