{"id":233062,"date":"2023-02-04T13:57:00","date_gmt":"2023-02-04T10:57:00","guid":{"rendered":"https:\/\/wordpress.mediadoma.com\/?p=233062"},"modified":"2023-02-04T13:58:44","modified_gmt":"2023-02-04T10:58:44","slug":"como-publicar-automaticamente-una-publicacion-de-blog-en-las-redes-sociales-la-solucion-universal-con-ifttt-y-crontab","status":"publish","type":"post","link":"https:\/\/wordpress.mediadoma.com\/es\/como-publicar-automaticamente-una-publicacion-de-blog-en-las-redes-sociales-la-solucion-universal-con-ifttt-y-crontab\/","title":{"rendered":"\u00bfC\u00f3mo publicar autom\u00e1ticamente una publicaci\u00f3n de blog en las redes sociales? La Soluci\u00f3n Universal con IFTTT y Crontab"},"content":{"rendered":"\n<p>Publicar regularmente las publicaciones en las redes sociales ayuda a aumentar el tr\u00e1fico del sitio de manera efectiva, por ejemplo, <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>. Ciertamente es bueno si podemos automatizar este proceso. Con el uso de <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> y crontab, esto se vuelve f\u00e1cil.<\/p>\n<h2>Canal de creador de IFTTT<\/h2>\n<p>El canal Maker en IFTTT se puede activar al &#8216;recibir una solicitud web&#8217; y admite hasta 3 par\u00e1metros, es decir, valor1, valor2 y valor3 en el formato de <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>. Por ejemplo, puede invocar el evento SayHi con dos par\u00e1metros {\u00abvalue1\u2033:&quot;Hello&quot;,\u00bbvalue2\u2033:\u00bbComputing\u00bb}.<\/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>Publicar en la red social a trav\u00e9s de IFTTT<\/h2>\n<p>Es sencillo crear un nuevo subprograma (regla <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 y la red social de su elecci\u00f3n, por ejemplo, <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>. Adem\u00e1s, debe especificar el nombre del evento para que funcione el Creador (que es la parte &#8216;esto&#8217; del IFTTT).<\/p>\n<p>fabricante-recibir-una-solicitud-web<\/p>\n<p>Luego, debe especificar la acci\u00f3n (que es la parte &quot;esa&quot; de <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=\"\u00bfC\u00f3mo publicar autom\u00e1ticamente una publicaci\u00f3n de blog en las redes sociales? La Soluci\u00f3n Universal con IFTTT y Crontab\"><\/a><\/p>\n<p>configuraci\u00f3n del fabricante de los par\u00e1metros value1, value2 y value3<\/p>\n<h2>Script PHP autom\u00e1tico<\/h2>\n<p>Ahora, podemos escribir un script PHP para automatizar esto: elija una publicaci\u00f3n (por ejemplo, aleatoria o por ID) que no se haya publicado en los \u00faltimos, por ejemplo, 90 d\u00edas, coloque el enlace en la base de datos e invoque el canal Maker que activa la regla. para publicar en la red social de su elecci\u00f3n.<\/p>\n<p>Para WordPress, si elegimos una publicaci\u00f3n aleatoria, el <a href=\"https:\/\/wordpress.mediadoma.com\/es\/script-php-para-proteger-las-carpetas-de-wordpress-configurando-los-permisos-de-archivo-correctos\/\" title=\"script PHP\">script PHP<\/a> ser\u00e1 algo como esto:<\/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>Para que lo anterior funcione, debe crear una tabla para almacenar los art\u00edculos publicados (a trav\u00e9s de <a href=\"https:\/\/wordpress.mediadoma.com\/es\/como-imprimir-el-resumen-de-la-tabla-mysql-usando-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>Configuraci\u00f3n de crontab para publicaciones autom\u00e1ticas en blogs<\/h2>\n<p>El paso final despu\u00e9s de haber probado el script anterior es agregar el <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> a los trabajos <a href=\"https:\/\/helloacm.com\/php-script-to-test-crontab\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">crontab .<\/a> Puede configurar la frecuencia, por ejemplo, @diario o @semanal, @mensual, etc.<\/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\">Fuente de grabaci\u00f3n:  <a target=\"_blank\" rel=\"noopener nofollow\" href=\"\/\/helloacm.com\" class=\"external external_icon\">helloacm.com<\/a><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u00bfC\u00f3mo publicar autom\u00e1ticamente una publicaci\u00f3n de blog en las redes sociales? La Soluci\u00f3n Universal con IFTTT y 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":[892,810,716,747,831,1015,779,840,861],"tags":[1172],"class_list":["post-233062","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-codigo","category-complementos","category-desarrollador","category-fuente-abierta","category-guia-para-principiantes","category-sitios-utiles","category-software-de-codigo-abierto","category-tutoriales","category-wordpress-2","tag-affiai-es"],"_links":{"self":[{"href":"https:\/\/wordpress.mediadoma.com\/es\/wp-json\/wp\/v2\/posts\/233062","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.mediadoma.com\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wordpress.mediadoma.com\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/es\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/es\/wp-json\/wp\/v2\/comments?post=233062"}],"version-history":[{"count":0,"href":"https:\/\/wordpress.mediadoma.com\/es\/wp-json\/wp\/v2\/posts\/233062\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/es\/wp-json\/wp\/v2\/media\/224083"}],"wp:attachment":[{"href":"https:\/\/wordpress.mediadoma.com\/es\/wp-json\/wp\/v2\/media?parent=233062"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/es\/wp-json\/wp\/v2\/categories?post=233062"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/es\/wp-json\/wp\/v2\/tags?post=233062"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}