Saltar al contenido

Convertir CSV avangatenetwork a RSS

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

Deja una respuesta

Tu dirección de correo electrónico no será publicada.

Ver más

  • Responsable: Tomas Gonzalez.
  • Finalidad:  Moderar los comentarios.
  • Legitimación:  Por consentimiento del interesado.
  • Destinatarios y encargados de tratamiento:  No se ceden o comunican datos a terceros para prestar este servicio.
  • Derechos: Acceder, rectificar y suprimir los datos.
  • Información Adicional: Puede consultar la información detallada en la Política de Privacidad.

Este sitio web utiliza cookies, si necesitas más información puedes visitar nuestra política de privacidad    Ver
Privacidad
Creative Commons License
Except where otherwise noted, the content on this site is licensed under a Creative Commons Attribution-NonCommercial 4.0 International License.