Hola! Sean bienvenidos a mi blog, en esta ocasión voy a dejar un código que hice ayer acerca de cómo pasar el CSV de avantage a RSS.
¿Qué es avangate network, RSS y CSV?
Pues lo voy a explicar de la siguiente forma:
- Avangate-network: es una web de afiliación, que te permite monetizar tu blog teniendo enlaces directos a productos.
- RSS: Un estándar que permite indexar contenidos de otras webs o blogs, empleando un estándar abierto basado en XML.
- CSV: Es un documento de texto cuyos elementos están ordenados y pueden estar separados por, «;», «,», «.», tabulaciones, etc.
Programación técnica en PHP
Dejo por aquí el código programado en PHP:
<?php
include_once("claves.php");
if($_GET["clave"]===$CLAVE){
$rss='<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
<channel>
<title>Mejores productos recomendados</title>
<link></link>
<description>Productos recomendados con enlace afiliado</description>
<copyright></copyright>
';
$item="";
$fp = fopen ("csv.csv","r");
$i=0;
while ($data = fgetcsv ($fp, 1000, ",")) {
if($i!=0){
$title= $data[5];
$link=$data[13];
$descripcion=$data[7];
$rss=$rss."
<item>
<title>".htmlspecialchars($title)."</title>
<link>".htmlspecialchars($link)."</link>
<description>"."</description>
</item>
";
}
$i=1;
//echo "descripcion : ". ."<br>";
}
$rss=$rss."
</channel>
</rss>
";
unlink("rss.rss");
file_put_contents("rss.rss", $rss);
echo $rss;
}
Implementación en WordPress
Vamos a implementar nuestro código en wp, para ello, el esqueleto del plugin debe ser el siguiente:
| claves.php
| csv.csv
| index.php
| operaciones.php
| readme.txt
| rss.rss
| rssPersonalizado.php
| uninstall.php
|
+---admin
| +---css
| +---images
| \---js
\---public
+---css
+---images
\---js
El código principal va a ser:
<?php
/*
Plugin Name: rssPersonalizado
Plugin URI: https://infogonzalez.com
Description: Plugin de ejemplo del post de como crear un plugin en WordPress
Version: 1.0
Author: Tomás González
Author URI: https://infogonzalez.com
License: GPL2
*/
function rssPersonalizado_shortcode( $atts = [], $content = null, $tag = '' ) {
$o ="hola mundo ".$atts["id"];
return $o;
}
/**
* Central location to create all shortcodes.
*/
function rssPersonalizado_shortcodes_init() {
add_shortcode( 'rssPersonalizado', 'rssPersonalizado_shortcode' );
}
add_action( 'init', 'rssPersonalizado_shortcodes_init' );
?>
El código nuestro de PHP va a ser:
<?php
include_once("claves.php");
if($_GET["clave"]===$CLAVE){
$rss='<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
<channel>
<title>Mejores procuctos recomendados</title>
<link></link>
<description>Productos recomendados con enlace afiliado</description>
<copyright></copyright>
';
$item="";
file_get_contents("csv.csv", "http://feeds.avangate.com/139125/38292_NEQHNE.csv");
$fp = fopen ("csv.csv","r");
$i=0;
while ($data = fgetcsv ($fp, 1000, ",")) {
if($i!=0){
$title= $data[5];
$link=$data[13];
$descripcion=$data[7];
$rss=$rss."
<item>
<title>".htmlspecialchars($title)."</title>
<link>".htmlspecialchars($link)."</link>
<description>"."</description>
</item>
";
}
$i=1;
//echo "descripcion : ". ."<br>";
}
$rss=$rss."
</channel>
</rss>
";
unlink("rss.rss");
file_put_contents("rss.rss", $rss);
echo $rss;
}
Enlace:
Aquí dejo el proyecto final, espero que os haya gustado y hayan aprenido algo
Gracias por visitar mi blog de informática, mi nombre es Tomás y soy formador y desarrollador web. Si quiere usted dejarme alguna sugerencia, ayuda o quiere un servicio de formación estoy escuchando ofertas en tomas.gonzalez@infogonzalez.com, en Facebook a https://www.facebook.com/Infogonzalez estoy deseando escucharle. Su duda o sugerencia NO molesta.