Ir para conteúdo
    • João Batista Neto

      iMasters InterCon 2017   10-10-2017

      Ainda dá tempo de se inscrever no iMasters InterCon 2017, o maior evento dev do Brasil!  
Entre para seguir isso  
Vinicius Cainelli

Leitura de feed XML - Alternativas a API Google

Recommended Posts

Fala galera, tudo beleza?

Seguinte, eu uso em alguns projetos projetos, uma API do Google (que foi desativada em Dez/2016), ela basicamente lê o feed do blog e transforma em um objeto jSON.

E como essa API foi desativada mês passado, eu to procurando alternativas para isso.

Alguém tem alguma sugestão? Estou com essas duas em mente:

  • Instalar algum plugin no WordPress, que transforma o feed XML em jSON, assim consigo fazer a leitura com JS mesmo.
  • Usar esse cara aqui: https://rss2json.com, mas ai, daqui um tempo, posso cair na mesma situação que estou agora, o serviço pode ser desativado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não achei nada disso na documentação, sabe onde posso encontrar?
Só encontrei plugins pra isso.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora

Entre para seguir isso  

  • Próximos Eventos

  • Conteúdo Similar

    • Por PRWEB
      Boa tarde, tudo bem?
       
      Estou com um probleminha e gostaria muito de ajuda.
      Tenho um filtro que ao digitar a informação ele faz a busca e agora adicionei uma função que verifica que se quando estiver black_list = 1 é direcionado para uma pagina, caso estiver em branco é direcionado para outra pagina.
      Fiz assim, mas não está funcionando:
      function vai_serie(tipo,no_serie,contador,campo,ordem) { var tipo = document.getElementById('tipo').value; var no_serie = document.getElementById('no_serie').value; var contador = document.getElementById('contador').value; if( tipo == "" ){ if (confirm("DIGITE O CÓDIGO DO PRODUTO NO CAMPO TIPO!")) document.getElementById("tipo").value = ""; document.getElementById("tipo").submit(); return true; } if( no_serie == "" ){ if (confirm("DIGITE O Nº SÉRIE NO CAMPO SERIAL!")) document.getElementById("no_serie").value = ""; document.getElementById("no_serie").submit(); return true; } if( contador == "" ){ if (confirm("DIGITE O CONTADOR DO PRODUTO NO CAMPO CONTADOR!")) document.getElementById("contador").value = ""; document.getElementById("contador").submit(); return true; } //Montando a URL a ser enviada if( black_list == "1" ){ var url = "registros_black_list_rma.asp?tipo=" + tipo + "&no_serie=" + no_serie + "&contador=" + contador + "&campo=no_os&ordem=asc"; else var url = "teste.asp?tipo=" + tipo + "&no_serie=" + no_serie + "&contador=" + contador + "&campo=no_os&ordem=asc"; document.getElementById('historico').src = url; //enviando a pagina return false; } Por favor podem me ajudar?
       
      Muito Obrigado
    • Por fabiosc80
      Pessoal preciso de uma ajuda pois travei aqui.
       
      Tenho 3 dropdown com valores iguais (1,2 e 3).
      Tenho que selecionar um valor em um Dropdown e sumir dos outros.
      E quando Seleciono: Selecione um item (valor 0) tem que voltar para os outros dropdowns.
      Fiz assim:
       
      var varField_idFacilitador1 = $("#varField_idFacilitador1 option:selected").val(); if (varField_idFacilitador1 == 0){ $("#varField_idFacilitador1 option[value='1']").show(); $("#varField_idFacilitador2 option[value='1']").show(); $("#varField_idFacilitador3 option[value='1']").show(); } if (varField_idFacilitador1 == 1){ //$("#varField_idFacilitador1 option[value='1']").show(); $("#varField_idFacilitador2 option[value='1']").hide(); $("#varField_idFacilitador3 option[value='1']").hide(); } if(varField_idFacilitador1 == 2){ $("#varField_idFacilitador2 option[value='2']").hide(); $("#varField_idFacilitador3 option[value='2']").hide(); } if(varField_idFacilitador1 == 3){ //$("#varField_idFacilitador1 option[value='3']").show(); $("#varField_idFacilitador2 option[value='3']").hide(); $("#varField_idFacilitador3 option[value='3']").hide(); } var varField_idFacilitador2 = $("#varField_idFacilitador2 option:selected").val(); if (varField_idFacilitador2 == 0 && varField_idFacilitador3 == 0){ $("#varField_idFacilitador1 option[value='2']").show(); $("#varField_idFacilitador2 option[value='2']").show(); $("#varField_idFacilitador3 option[value='2']").show(); } if (varField_idFacilitador2 == 1){ //$("#varField_idFacilitador2 option[value='1']").show(); $("#varField_idFacilitador1 option[value='1']").hide(); $("#varField_idFacilitador3 option[value='1']").hide(); } if(varField_idFacilitador2 == 2){ //$("#varField_idFacilitador2 option[value='2']").show(); $("#varField_idFacilitador1 option[value='2']").hide(); $("#varField_idFacilitador3 option[value='2']").hide(); } if(varField_idFacilitador2 == 3){ //$("#varField_idFacilitador2 option[value='3']").show(); $("#varField_idFacilitador1 option[value='3']").hide(); $("#varField_idFacilitador3 option[value='3']").hide(); } var varField_idFacilitador3 = $("#varField_idFacilitador3 option:selected").val(); if (varField_idFacilitador1 == 0 && varField_idFacilitador2 == 0){ $("#varField_idFacilitador1 option[value='3']").show(); $("#varField_idFacilitador2 option[value='3']").show(); $("#varField_idFacilitador3 option[value='3']").show(); } if (varField_idFacilitador3 == 1){ //$("#varField_idFacilitador3 option[value='1']").show(); $("#varField_idFacilitador1 option[value='1']").hide(); $("#varField_idFacilitador2 option[value='1']").hide(); } if(varField_idFacilitador3 == 2){ //$("#varField_idFacilitador3 option[value='2']").show(); $("#varField_idFacilitador1 option[value='2']").hide(); $("#varField_idFacilitador2 option[value='2']").hide(); } if(varField_idFacilitador3 == 3){ //$("#varField_idFacilitador3 option[value='3']").show(); $("#varField_idFacilitador1 option[value='3']").hide(); $("#varField_idFacilitador2 option[value='3']").hide(); } Porem nao ta rolando certo.
      Volta pra um mas nao volta pra outro.
       
      Não sei mais oque fazer.
       
      Alguem poderia me ajudar?
       
       
       
    • Por matheuslimasr
      Olá pessoal vocês podem ver minha rede social https://codysocial.com/
       
      e mandar dicas e ate criticas isso vai mim ajuda muito para melhorar mais ainda ela,
      vou fica bastante agradecido se vocês testar meu projeto e mim dizer oque achou dela. 
       
      Iniciei este projeto em dezembro de 2016 , e pretendo continuar com ele sempre.
    • Por Artur Ivo
      Tive um problema com meu código e apareceu o seguinte erro:

      Parse error: syntax error, unexpected 'class' (T_CLASS), expecting function (T_FUNCTION) in /home/casamatre/www/homologacao/wp-content/themes/vox/functions.php on line 53
       
      O código é:
       
       
      <?php
          // DEFINES
          define('WP_SYSTEM_DIR', untrailingslashit(dirname(__DIR__ . '/../../modules/')));
          
          // WP LIST TABLE INCLUDE
          if(!class_exists('WP_List_Table'))
              require_once(ABSPATH . 'wp-admin/includes/class-wp-list-table.php');
          // ADD ACTION
          add_action('init', 'init');
          // INIT FUNCTION
          function init(){
              // SYSTEM CLASS
              $WP_Theme_Configs = new WP_Theme_Configs();
              $WP_System = new WP_System();
          }
          // WP THEMES CONFIGS
          class WP_Theme_Configs{
              // CONSTRUTOR
              function __construct(){
                  // ADD SCRIPTS
                  add_action('wp_enqueue_scripts', array($this, 'wp_enqueue_scripts'));
                  // ADD THEME SUPPORT
                  add_theme_support('custom-header');
                  add_theme_support('post-thumbnails', array(true));
                  add_theme_support('custom-background');
                  add_theme_support('category-thumbnails');
                  add_post_type_support('page', 'excerpt');
                  // IMAGE SIZE
                  add_image_size('thumbnail', 160, 160, true);
                  add_image_size('equipe', 235, 220, true);
                  add_image_size('produtos', 220, 150, true);
                  add_image_size('blog', 315, 180, true);
                  add_image_size('single', 750, 999, true);
                  // MENU
                  register_nav_menu('left', __('Menu Esquerdo'));
                  register_nav_menu('right', __('Menu Direito'));
                  register_nav_menu('footer', __('Footer'));
              }
              /* SCRIPTS*/
              public function wp_enqueue_scripts(){
                           
                  /* FONTS */
                  wp_enqueue_style('Open Sans', 'http://fonts.googleapis.com/css?family=Open+Sans:400,300,600,700'); 
                  // CSS
                  wp_enqueue_style('fancybox', get_template_directory_uri() . '/plugins/fancybox/jquery.fancybox.css');
                  wp_enqueue_style('bxslider', get_template_directory_uri() . '/plugins/bxslider/jquery.bxslider.css');
                  wp_enqueue_style('style', get_template_directory_uri() . '/css/styles.css');
                  wp_enqueue_style('custom', get_template_directory_uri() . '/css/custom.css');
                  
                  // DEREGISTER
                  wp_deregister_script('jquery');
                  
                  // REGISTER
                  wp_register_script('jquery', 'https://code.jquery.com/jquery-1.11.2.min.js', true, '1.11.2');
                  
                  // ENQUEUE SCRIPTS
                  wp_enqueue_script('jquery');
                  wp_enqueue_script('jquery-ui', '//code.jquery.com/ui/1.11.2/jquery-ui.js');
                  wp_enqueue_script('fancybox', get_template_directory_uri() . '/plugins/fancybox/jquery.fancybox.js');
                  wp_enqueue_script('bxslider', get_template_directory_uri() . '/plugins/bxslider/jquery.bxslider.js');
                  wp_enqueue_script('jqpagination', get_template_directory_uri() . '/js/jquery.jqpagination.min.js');
                  wp_enqueue_script('scripts', get_template_directory_uri() . '/js/scripts.js');
                  wp_enqueue_script('mask', get_template_directory_uri() . '/js/jquery.mask.min.js');
                  // LOCALIZE
                  wp_localize_script('scripts', 'ajaxurl', admin_url("admin-ajax.php")); 
              }
          }
          // WP SYSTEM
          class WP_System{
              // CONSTRUTOR
              public function WP_System($args = null){
                  // PATH
                  $path = WP_SYSTEM_DIR . '/';
                  
                  // OPEN DIR
                  $dir = opendir(WP_SYSTEM_DIR);
                  
                  // WHILE FILES
                  while(false !== ($file = readdir($dir))):
                      // CONDTION
                      if(($file != '.' AND $file != '..') AND file_exists($path . $file)):
                          // VERIFY IF PATH IS A DIR
                          if(is_dir($path . $file)):
                              $file = "{$file}/{$file}.php";                            
                          endif;
                          // INCLUDE FILE
                          if(file_exists($path . $file))
                              include($path . $file);
                          // INIT SET
                          if(isset($modulo))
                              new $modulo();
                      endif;
                  endwhile;
              }
              // TEMPLATES
              public function template($templates, array $match = null){
                  // ARRAY VERIFY
                  if(!is_array($templates)):
                      $templates = (array)$templates;
                  endif;
                  // CONTENT
                  $content = null;
                  // FOREACH VALUES
                  foreach($templates as $template):
                      
                      // PATCH TO TEMPLATE FILE
                      $path = $template;
                      // VERIFICA A EXISTENCIA DO ARQUIVO E RETORNA O CONTEUDO
                      if(file_exists($path)):
                          // IF FILE EXISTIS, GET THE CONTENT AND INCREMENTS ON THE CONTENT VARIABLE
                          ob_start();
                          include($path);
                          $content = ob_get_contents();
                          ob_end_clean();
                      endif;
                      // IF MATCH IS NOT NULL, REPLACE ALL VALUES
                      if(count($match) > 0):
                          // PREG MATCH TO %position$s
                          preg_match_all('/ (?<!%) % ( (?: [[:alpha:]_-][[:alnum:]_-]* | ([-+])? [0-9]+ (?(2) (?:\.[0-9]+)? | \.[0-9]+ ) ) ) \$ [-+]? \'? .? -? [0-9]* (\.[0-9]+)? \w/x', $content, $matchAll, PREG_SET_ORDER | PREG_OFFSET_CAPTURE);
                          // FOREACH MATCHALL
                          foreach($matchAll as &$value):
                              // REPLACE CONTENT
                              $match_value = isset($match[$value[1][0]]) ? $match[$value[1][0]] : null;
                              
                              // VERIFICA SE O VALOR CAPTURADO NÃO É UMA STRING OU INT
                              if((!is_string($match_value) && !is_int($match_value)) && (is_array($match_value) | is_object($match_value))):
                                  $match_value = var_export($match_value, true);
                              endif;
                              // VERIFICA SE EXISTE UM SHORTCODE
                              $match_value = $match_value;
                              // SUBSTITUI E INCREMENTA O VALOR
                              $content = str_replace($value[0][0], $match_value, $content);
                          endforeach;
                      endif;
                  endforeach;
                  // RETURN
                  return trim($content);
              }
          }
          add_filter('getarchives_where', 'getarchives_where_filter', 10, 2);
          add_filter('generate_rewrite_rules', 'generate_blog_rewrite_rules');
          function getarchives_where_filter($where, $args){
              if(isset($args['post_type']))  
                  $where = "WHERE post_type = '$args[post_type]' AND post_status = 'publish'";
              return $where;
          }
          function generate_blog_rewrite_rules($wp_rewrite){
              $event_rules = array(
                  'blog/([0-9]{4})/([0-9]{1,2})/([0-9]{1,2})/?$' => 'index.php?post_type=blog&year=$matches[1]&monthnum=$matches[2]&day=$matches[3]',
                  'blog/([0-9]{4})/([0-9]{1,2})/?$' => 'index.php?post_type=blog&year=$matches[1]&monthnum=$matches[2]',
                  'blog/([0-9]{4})/?$' => 'index.php?post_type=blog&year=$matches[1]' 
              );
              $wp_rewrite->rules = $event_rules + $wp_rewrite->rules;
          }
          function get_archives_blog_link($link){
              return str_replace(get_site_url(), get_site_url(), $link);
          }
          // GET IMAGE FROM URL
          function thumbnail_from_url($url, $size = ''){
              global $wpdb;
              // 
              $thumbnail = $wpdb->get_row("SELECT * FROM $wpdb->posts WHERE guid = '$url'");
              
              if(isset($thumbnail)):
                  $imagem = wp_get_attachment_image_src($thumbnail->ID, $size);
                  return $imagem[0];
              else:
                  return $url;
              endif;
          }
          function video($URL){
              $URL = parse_url($URL);
              parse_str($URL['query'], $query);
              return $query['v'];
          }
          function excerpt($qtywords = 80, $text = null){
              if($text):
                  $excerpt = explode(' ', $text, $qtywords);
              else:
                  $excerpt = explode(' ', get_the_excerpt(), $qtywords);
              endif;
              
              if(count($excerpt) >= $qtywords):
                  array_pop($excerpt);
                  $excerpt = implode(" ", $excerpt) . ' [...]';
              else:
                  $excerpt = implode(" ", $excerpt);
              endif;
              return $excerpt;
          }
      ?>
    • Por willwalker
      Estou desenvolvendo uma aplicação com Angular Cli, estou acompanhado um curso onde ele cria os arrays e cadastra no localStorage do naveador.
       
      Mas eu queria fazer diferente, quero chamar uma api, ler esse json e alimentar meu HTML.
       
      No app.module.ts importei o HttpClientModule e no meu component.ts coloquei o seguinte:
      import { Component, OnInit } from '@angular/core'; import { HttpClient } from '@angular/common/http'; @Component({ selector: 'app-listar', templateUrl: './listar.component.html', styleUrls: ['./listar.component.css'] }) export class ListarComponent implements OnInit { itensJson: string[]; constructor(private http: HttpClient) { } ngOnInit() { const Key = "2hKjRWO84XXPqnffl8lPZW1WCXbSyQj8q5VDpECf"; this.http.get('https://api.com?api_key='+Key).subscribe(data => { this.itensJson = data['itensJson']; }); } } Só que agora eu não sei como manipular isso. No HTML no tr eu coloquei assim:
      <tr *ngFor="let itensJson of itens"> <td>{{ itens.nome }}</td> </tr> Mas não exibe nada e eu não sei como eu poderia debugar o retorno do Json, estou estudando as sintaxe do Angular, mas não tenho dificuldades em Javascript. Só quero aprender de forma correta a usar o Angular.
       
      Abraços e obrigado!
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.

Este projeto é mantido e patrocinado pelas empresas:
Hospedado por: