Ir ao conteúdo
  • Cadastre-se

Durval Ferreira

Membro Júnior
  • Posts

    8
  • Cadastrado em

  • Última visita

Reputação

1
  1. Amigos, Trabalhei num código e quase deu certo. Está faltando apenas fazer uma ligação que estabeleça que o vídeo que foi assistido tire os coins do usuário que o postou e dê para quem assistiu. Após assistir o vídeo está aparecendo a informação: Warning: Invalid argument supplied for foreach() in /home/u960151055/public_html/2/config.php on line 22 Eu mantive o visualizador anterior para que se possa ter um parâmetro do que pode ser feito. Mas atenção: o site que estou fazendo as mudanças é esse outro pois não quero atrapalhar os usuários do site TuberPlay Site: tuberplay.tk/2 Usuário: convidado Senha:123456 Olha o mesmo código onde acrescentei o visualizador em outra janela (retirei de outro site par teste): Obs. acredito que tem que mudar dados no eval(function <div class="contentbox"> <div class="head">Youtube</div> <div class="contentinside"> <?php foreach($_GET as $key => $value) { $gets[$key] = filter($value); } if(isset($_GET['a'])){if($_GET['a'] == "skip"){ $sit1 = mysql_query("SELECT * FROM `youtube` WHERE `id`='{$gets['id']}'"); $sit = mysql_num_rows($sit1); if($sit > 0){ mysql_query("INSERT INTO `watched` (user_id, site_id) VALUES('{$data->id}','{$gets['id']}')"); }}} $mysite = mysql_query("SELECT * FROM `youtube` WHERE `active` = '0' AND `banned` = '0' AND (SELECT `coins` FROM `users` WHERE `id` = `youtube`.`user` ) >= `cpc` AND `id` NOT IN (SELECT `site_id` FROM `watched` WHERE `user_id`='{$data->id}') ORDER BY `cpc` DESC LIMIT 0, 1"); $site2 = mysql_fetch_object($mysite); $ext = mysql_num_rows($mysite); if($ext > 0){ ?> <?php // esse código foi movido para antes da tag <script>, porque a url é usada no início dele $url = explode('watch?v=', $site2->url); $url = $url[1]; ?> <script> // Essas duas variáveis são novas var videoId = "<?php echo $url;?>"; var player = null; var playing = false; var fullyPlayed = false; var interval = ''; var played = 0; var length = 40; function YouTubePlaying(){ played += 0.1; roundedPlayed = Math.ceil(played); document.getElementById("played").innerHTML = Math.min(roundedPlayed,length); if (roundedPlayed == length){ if (fullyPlayed == false){ YouTubePlayed(); fullyPlayed = true; } } } function YouTubePlayed(){ document.getElementById("Hint").style.display='hidden'; $("#Hint").html('Aguarde...'); var response = '<? echo $site2->id;?>'; var cpc = '<? echo $site2->cpc - 1;?>'; var userid = "<? echo $data->id;?>"; $.ajax({ type: "POST", url: "plugins/yt/complete.php", data: "site=" + response +"&userid=" + userid, success: function(msg){ var coins = $("#coins").html().replace(" Coins", ""); coins = parseInt(coins) + parseInt(cpc); $("#coins").html(coins + " Coins"); $("#Hint").html('You have gained ' + cpc + ' coins!'); } }); document.getElementById(response).style.visibility = "visible"; } function onYouTubeIframeAPIReady(){ // aqui está usando a "nova" API... o funcionamento é basicamente // o mesmo, mas a forma de usar muda um pouco player = new YT.Player("player", { height: "356", width: "625", videoId: videoId, events: { onReady: function(){ player.playVideo(); }, onStateChange: onPlayerStateChange } }); } // o nome do parâmetro foi alterado function onPlayerStateChange(playerInfo){ // a linha abaixo é nova var newState = playerInfo.data; if (newState == 1){ playing = true; interval = window.setInterval('YouTubePlaying()',100); }else if (newState == 0){ if (playing) window.clearInterval(interval); playing = false; ytplayer.stopVideo(); ytplayer.playVideo(); }else{ if (playing) window.clearInterval(interval); playing = false; } }; function refreshpage(){ window.location.reload(); } // as linhas abaixo também são novas var tag = document.createElement("script"); tag.src = "https://www.youtube.com/iframe_api"; var firstScriptTag = document.getElementsByTagName("script")[0]; firstScriptTag.parentNode.insertBefore(tag, firstScriptTag); </script> <div id="Hint" class="hint"></div> <center> Assista este vídeo durante 40 segundos e depois você vai receber <? echo $site2->cpc;?> coins<br/><br/> <div id="player">Você precisa Flash player 8+ e JavaScript habilitado para ver este vídeo.</div> <script type="text/javascript"> var params = { allowScriptAccess: "always" }; var atts = { id: "myytplayer" }; new YT.Player("http://www.youtube.com/v/<? echo $url;?>?enablejsapi=0&playerapiid=ytplayer", "ytPlayer", "625", "356", "8", null, null, params, atts); </script> <br/> <br />Você deve assistir <span id="played">0</span>/40 segundos (<a href="xchange.php?p=yt&a=skip&id=<? echo $site2->id;?>" style="color:blue"> Pular este vídeo </a>)&nbsp;(<a href="report.php?id=<? echo $site2->id;?>" target="_blank"> Reportar Problema e ganhar 10 coins </a>) <div id="<? echo $site2->id;?>" style="visibility:hidden"><a href="javascript:refreshpage()">Assistir ao Próximo Vídeo</a></div> </center> <?php }else{ echo '<div class="error"> Não há mais vídeos no momento. Por favor, tente de novo mais tarde.</div>'; } ?> </div> </div> </script> </div> <div id="boxes" style="width:625px;float:right;"> <div id="submenu">Clique e assista ao vídeo, apenas um de cada vez ou não será concedido Coins.</div> <script language="javascript"> eval(function(p,a,c,k,e,d){e=function(c){return(c<a?'':e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--){d[e(c)]=k[c]||e(c)}k=[function(e){return d[e]}];e=function(){return'\\w+'};c=1};while(c--){if(k[c]){p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c])}}return p}('6 1z(W,o){4.8("3").e.c=\'i\';$("#3").2(\'1y E...\');$.1f({1h:"1b",h:"17/18/19.x?1x=1A",1g:"1B="+W+"&1w="+o,1m:6(q){$("#3").2(q)}});F(o);p()}6 1E(){u.1u.p()}5 9;5 z;5 7;5 1k;5 f;5 g;5 B;6 1p(h,V,o,w,S){d(4.v.1r("t")>=0){$("#k").2(\'\');$("#n").2(\'\');4.8("3").e.c=\'i\';$("#3").2(\'r m 14 O a J 16 G K L A N M Q...P I 10 1c\')}j{$("#n").2(\'1t 1v 1s \');4.8("3").e.c=\'1q\';9=u.A(h,V,"1L=1O,1N=1F");7=w;z=o;g=S;B=h;5 b=1P 1Q();b.X(b.Y()+(15*l));4.v="t=11; Z="+b.R();s("y()",l)}}6 y(){d(7>1){7=7-1;$("#k").2(7);d(9.T){$("#k").2(\'\');$("#n").2(\'\');4.8("3").e.c=\'i\';$("#3").2(\'r m T 1d u...\');b.X(b.Y()+(1*1I));4.v="t=11; Z="+b.R();12 13}j d(f>7){$("#k").2(\'\');$("#n").2(\'\');4.8("3").e.c=\'i\';$("#3").2(\'r m 14 O a J 16 G K L A N M Q...P I 10 1c\');9.1j();7=w}j{s("y()",l)}}j{d(9){9.1j();1k=0}$("#n").2(\'\');$("#k").2(\'\');s("1a(B, z, g)",l)}}6 1o(1l){f=1l;d(f>1){f=f-1;s("1o()",l)}j{f=0}}6 1a(h,C,1e){d(!9||7>1){4.8("3").e.c=\'i\';$("#3").2(\'r m 1G H 1H E...\')}j{4.8("3").e.c=\'i\';$("#3").2(\'1C m H 1d E....\');5 1n=C;5 g=1e;$.1f({1h:"1b",h:"17/18/19.x",1g:"1K="+1n+"&g="+g,1m:6(q){$("#3").2(q)}});$("#k").2(\'\');F(C);p()}}6 F(1i){5 D=4.8(1i);D.1D.1J(D);12 13}6 p(){$("#U").1M("U.x")}',62,115,'||html|Hint|document|var|function|timer|getElementById|myWindow||date|display|if|style|checker|userid|url|block|else|seconds|1000|you|text|id|reload|msg|Seems|setTimeout|activewindow|window|cookie|newtimer|php|start|urlinplay|open|siteurl|nid|elem|Video|removeElement|or|viewed|and|Window|trying|to|than|more|have|Refresh|one|toGMTString|uid|closed|header|title|str|setTime|getTime|expires|try|yes|return|false|already||Open|plugins|yt|complete|checkWin|POST|again|the|did|ajax|data|type|childDiv|close|finished|tamount|success|response|timerchecker|openWin|none|indexOf|por|Por favor|location|aguarde|him|step|Skipping|skipuser|skip|me|Verifying|parentNode|refreshpage|700|never|this|100|removeChild|site|width|load|height|1100|new|Date'.split('|'),0,{})) </script> <div align="center"><font id="text" size="3" color="black"></font> <font id="seconds"size="5" color="red"> </font></div> <div id="Hint" class="hint"></div> <div id="boxes"> <div class="xchangebox" id="echo $site2"> <? echo $site2->title;?><br/> <!--<a href="javascript:void(0);" class="button" onclick="openWin(<a href="xchange.php?p=yt&a=skip&id=<? echo $site2->id;?>" style="color:blue"> Pular este vídeo </a>)&nbsp;(<a href="report.php?id=<? echo $site2->id;?>" target="_blank"> Reportar Problema e ganhar 10 coins </a>),timerchecker('');;">Watch Video</a> --> <a href="javascript:void(0);" class="button" onclick="openWin('http://www.youtube.com/v/<? echo $url;?>','<? echo $site2->title;?>','47220','40','100447'),timerchecker('35');;">Assistir Vídeo</a> <br/> <div class="points" id="<? echo $site2->id;?>points">Coins: <b><? echo $site2->cpc;?></b></div> (<a href="xchange.php?p=yt&a=skip&id=<? echo $site2->id;?>" style="color:blue"> Pular este vídeo </a>)&nbsp;(<a href="report.php?id=<? echo $site2->id;?>" target="_blank"> Reportar Problema e ganhar 10 coins </a>) <div id="<? echo $site2->id;?>" style="visibility:hidden"><a href="javascript:refreshpage()">Assistir ao Próximo Vídeo</a></div> </div><input onclick='refreshpage();' class="refresh" type='button' value='Mais Vídeos'> <br> <br/> </div> </body> </html>
  2. Tenho um site de visualização que não está 100% porque o YouTube não está mais registrando as visualizações. Ao clicar em assistir, o player do vídeo é aberto no próprio site e depois de alguns segundos de visualização, o usuário ganha como recompensa uma certa quantidade de moedas (coins). Abaixo, meu código: <div class="contentbox"> <div class="head">Youtube</div> <div class="contentinside"> <?php foreach($_GET as $key => $value) { $gets[$key] = filter($value); } if(isset($_GET['a'])){if($_GET['a'] == "skip"){ $sit1 = mysql_query("SELECT * FROM `youtube` WHERE `id`='{$gets['id']}'"); $sit = mysql_num_rows($sit1); if($sit > 0){ mysql_query("INSERT INTO `watched` (user_id, site_id) VALUES('{$data->id}','{$gets['id']}')"); }}} $mysite = mysql_query("SELECT * FROM `youtube` WHERE `active` = '0' AND `banned` = '0' AND (SELECT `coins` FROM `users` WHERE `id` = `youtube`.`user` ) >= `cpc` AND `id` NOT IN (SELECT `site_id` FROM `watched` WHERE `user_id`='{$data->id}') ORDER BY `cpc` DESC LIMIT 0, 1"); $site2 = mysql_fetch_object($mysite); $ext = mysql_num_rows($mysite); if($ext > 0){ ?> <?php // esse código foi movido para antes da tag <script>, porque a url é usada no início dele $url = explode('watch?v=', $site2->url); $url = $url[1]; ?> <script> // Essas duas variáveis são novas var videoId = "<?php echo $url;?>"; var player = null; var playing = false; var fullyPlayed = false; var interval = ''; var played = 0; var length = 40; function YouTubePlaying(){ played += 0.1; roundedPlayed = Math.ceil(played); document.getElementById("played").innerHTML = Math.min(roundedPlayed,length); if (roundedPlayed == length){ if (fullyPlayed == false){ YouTubePlayed(); fullyPlayed = true; } } } function YouTubePlayed(){ document.getElementById("Hint").style.display='hidden'; $("#Hint").html('Please Wait...'); var response = '<? echo $site2->id;?>'; var cpc = '<? echo $site2->cpc - 1;?>'; var userid = "<? echo $data->id;?>"; $.ajax({ type: "POST", url: "plugins/yt/complete.php", data: "site=" + response +"&userid=" + userid, success: function(msg){ var coins = $("#coins").html().replace(" Coins", ""); coins = parseInt(coins) + parseInt(cpc); $("#coins").html(coins + " Coins"); $("#Hint").html('You have gained ' + cpc + ' coins!'); } }); document.getElementById(response).style.visibility = "visible"; } function onYouTubeIframeAPIReady(){ // aqui está usando a "nova" API... o funcionamento é basicamente // o mesmo, mas a forma de usar muda um pouco player = new YT.Player("player", { height: "356", width: "625", videoId: videoId, events: { onReady: function(){ player.playVideo(); }, onStateChange: onPlayerStateChange } }); } // o nome do parâmetro foi alterado function onPlayerStateChange(playerInfo){ // a linha abaixo é nova var newState = playerInfo.data; if (newState == 1){ playing = true; interval = window.setInterval('YouTubePlaying()',100); }else if (newState == 0){ if (playing) window.clearInterval(interval); playing = false; ytplayer.stopVideo(); ytplayer.playVideo(); }else{ if (playing) window.clearInterval(interval); playing = false; } }; function refreshpage(){ window.location.reload(); } // as linhas abaixo também são novas var tag = document.createElement("script"); tag.src = "https://www.youtube.com/iframe_api"; var firstScriptTag = document.getElementsByTagName("script")[0]; firstScriptTag.parentNode.insertBefore(tag, firstScriptTag); </script> <div id="Hint" class="hint"></div> <center> Assista este vídeo durante 40 segundos e depois você vai receber <? echo $site2->cpc;?> coins<br/><br/> <div id="player">Você precisa Flash player 8+ e JavaScript habilitado para ver este vídeo.</div> <script type="text/javascript"> var params = { allowScriptAccess: "always" }; var atts = { id: "myytplayer" }; new YT.Player("http://www.youtube.com/v/<? echo $url;?>?enablejsapi=0&playerapiid=ytplayer", "ytPlayer", "625", "356", "8", null, null, params, atts); </script> <br/> <br />Você deve assistir <span id="played">0</span>/40 segundos (<a href="xchange.php?p=yt&a=skip&id=<? echo $site2->id;?>" style="color:blue"> Pular este vídeo </a>)&nbsp;(<a href="report.php?id=<? echo $site2->id;?>" target="_blank"> Reportar Problema e ganhar 10 coins </a>) <div id="<? echo $site2->id;?>" style="visibility:hidden"><a href="javascript:refreshpage()">Assistir ao Próximo Vídeo</a></div> </center> <?php }else{ echo '<div class="error"> Não há mais vídeos no momento. Por favor, tente de novo mais tarde.</div>'; } ?> </div> </div> Já descobri que outros sites com o Followlike e o AddMeFast estão abrindo os vídeos em uma nova janela. Isso faz o YouTube contabilizar a visualização. Se abrir dentro do site ou blog, o YouTube não contabiliza as visualizações pois utiliza o IP do site. Nesse caso, mesmo que no site um vídeo tenha 1 milhão de visualizações, só será contabilizado apenas 1 visualização. Site: tuberplay.tk Usuário: convidado Senha:123456 Para resolver isso, preciso que ao clicar em assistir o vídeo seja aberto uma nova janela como se tivesse assistindo no player do YouTube. Eu não entendo nada sobre PHP. Se alguém puder ajudar, agradeço
  3. Tenho um site em PHP de trocas de visualizações há mais de 6 meses e ontem seu contador de tempo parou de funcionar. No site, os usuários tem que assistir alguns segundos de vídeos de outros usuários para ganhar coins. Como o contador de tempo parou de funcionar não tem como o site contabilizar as visualizações. Nesse caso, vou ter que deletar o site inteiro. Se alguém quiser conferir entrem no site: www.tuberplay.tk Como usuário entrem como: convidado Senha: 123456 Por favor ajudem! Abaixo, o arquivo que apresenta o contador de tempo: xchange.php <div class="contentbox"> <div class="head">Youtube</div> <div class="contentinside"> <?php foreach($_GET as $key => $value) { $gets[$key] = filter($value); } if(isset($_GET['a'])){if($_GET['a'] == "skip"){ $sit1 = mysql_query("SELECT * FROM `youtube` WHERE `id`='{$gets['id']}'"); $sit = mysql_num_rows($sit1); if($sit > 0){ mysql_query("INSERT INTO `watched` (user_id, site_id) VALUES('{$data->id}','{$gets['id']}')"); }}} $mysite = mysql_query("SELECT * FROM `youtube` WHERE `active` = '0' AND `banned` = '0' AND (SELECT `coins` FROM `users` WHERE `id` = `youtube`.`user` ) >= `cpc` AND `id` NOT IN (SELECT `site_id` FROM `watched` WHERE `user_id`='{$data->id}') ORDER BY `cpc` DESC LIMIT 0, 1"); $site2 = mysql_fetch_object($mysite); $ext = mysql_num_rows($mysite); if($ext > 0){ ?> <script src="swfobject.js"></script> <script type="text/javascript"> var playing = false; var fullyPlayed = false; var interval = ''; var played = 0; var length = 60; function YouTubePlaying(){ played += 0.1; roundedPlayed = Math.ceil(played); document.getElementById("played").innerHTML = Math.min(roundedPlayed,length); if (roundedPlayed == length){ if (fullyPlayed == false){ YouTubePlayed(); fullyPlayed = true; } } } function YouTubePlayed(){ document.getElementById("Hint").style.display='hidden'; $("#Hint").html('Please Wait...'); var response = '<? echo $site2->id;?>'; var cpc = '<? echo $site2->cpc - 1;?>'; var userid = "<? echo $data->id;?>"; $.ajax({ type: "POST", url: "plugins/yt/complete.php", data: "site=" + response +"&userid=" + userid, success: function(msg){ var coins = $("#coins").html().replace(" Coins", ""); coins = parseInt(coins) + parseInt(cpc); $("#coins").html(coins + " Coins"); $("#Hint").html('You have gained ' + cpc + ' coins!'); } }); document.getElementById(response).style.visibility = "visible"; } function onYouTubePlayerReady(playerId){ ytplayer = document.getElementById("myytplayer"); ytplayer.addEventListener("onStateChange", "onYouTubePlayerStateChange"); } function onYouTubePlayerStateChange(newState){ if (newState == 1){ playing = true; interval = window.setInterval('YouTubePlaying()',100); }else if (newState == 0){ if (playing) window.clearInterval(interval); playing = false; ytplayer.stopVideo(); ytplayer.playVideo(); }else{ if (playing) window.clearInterval(interval); playing = false; } } function refreshpage() { window.location.reload(); } </script> <?php $url = explode('watch?v=', $site2->url); $url = $url[1]; ?> <div id="Hint" class="hint"></div> <center> Assista este vídeo durante 60 segundos e depois você vai receber <? echo $site2->cpc;?> coins<br/><br/> <div id="ytPlayer">Você precisa Flash player 8+ e JavaScript habilitado para ver este vídeo.</div> <script type="text/javascript"> var params = { allowScriptAccess: "always" }; var atts = { id: "myytplayer" }; swfobject.embedSWF("http://www.youtube.com/v/<? echo $url;?>?enablejsapi=0&playerapiid=ytplayer", "ytPlayer", "625", "356", "8", null, null, params, atts); </script> <br/> <br />Você deve assistir <span id="played">0</span>/60 segundos (<a href="xchange.php?p=yt&a=skip&id=<? echo $site2->id;?>" style="color:blue"> Pular este vídeo ou problema no link </a>) <div id="<? echo $site2->id;?>" style="visibility:hidden"><a href="javascript:refreshpage()">Assistir ao Próximo Vídeo</a></div> </center> <?php }else{ echo '<div class="error"> Não há mais vídeos no momento. Por favor, tente de novo mais tarde.</div>'; } ?> </div> </div>
  4. Baixei o arquivo do site https://br.wordpress.org/plugins/facebook-api/ . E como não tem a pasta "wp-content/plugins" no meu site, enviei a pasta "facebook-api" que continha os plugins diretamente para a pasta raiz do site. Porém por enquanto apenas duas notícia funcionaram mostrando três imagens (a primeira que mostra é a do autor do post que não quero que apareça, e usando a seta pode se ver a segunda imagem que é a da notícia que é a que eu quero que apareça e, também usando a seta, pode se ver a terceira imagem que é a propaganda e que também não pode aparecer). As outras notícias continuam mostrando a imagem inicial do site. Mas acredito que é uma questão de tempo para funcionar para todas as notícias. Em nenhuma situação mostra trecho da notícia. Se quiser conferir apenas coloque esse link abaixo na sua linha do tempo do facebook: http://www.folhaumuarama.tk/noticia/108/sai-nome-da-empresa-vencedora-da-licitação-que-dará-continuidade-às-obras-da-praça-arthur-thomas.html Se puder me ajudar, diga o que devo fazer para que mostre somente a imagem da notícia.
  5. Aqui está o arquivo tag.php completo: <? $variables=(strtolower($_SERVER['REQUEST_METHOD'])== 'GET') ? $_GET : $_POST; foreach ($variables as $k=> $v) $$k=$v; $tabela1 = "noticias"; $tabela2 = "users"; $tabela3 = "cidades"; $file = "$tabela1"; if($acao == "ver"){ $busca = "SELECT * FROM $tabela1 WHERE id='$id'"; $sql = mysql_query($busca); $dados = mysql_fetch_array($sql); $data1 = strftime("%d/%m/%Y Ã s %Hh%Mmin", strtotime($dados[data])); $data2 = strftime("%d/%m/%Y Ã s %Hh%Mmin", strtotime($dados[data2])); $data = "Matéria publicada em $data1"; $sql2 = "SELECT * FROM $tabela2 WHERE id='$dados[id_user]'"; $sql2 = mysql_query($sql2); $dados2 = mysql_fetch_array($sql2); $sql3 = "SELECT * FROM $tabela3 WHERE id='$dados2[id_cidade]'"; $sql3 = mysql_query($sql3); $dados4 = mysql_fetch_array($sql3); $dadosc=mysql_fetch_array(mysql_query("SELECT * FROM noticias_cat where id='$dados[id_cat]'")); ?> <? if($dados2[nome] != "") { echo'<meta name="author" content="'.$dados2[nome].'" />'; } else{ echo'<meta name="author" content="Lenium" />'; } ?> <? if($dados[titulo] != "") { echo'<meta property="og:title" content="'.$dados[titulo].'">'; } else{ echo'<meta property="og:title" content="'.$tsite.'">'; } ?> <? if($dados[foto] != "") { echo'<meta property="og:image" content="'.$usite.'thumbs.php?w=600&h=450&imagem=images/'.$tabela1.'/'.$dados[id].'/'.$dados[foto].'"/>'; } else{ echo'<meta property="og:image" content="'.$usite.'img/facebook.png"/>'; } ?> <? if($dados[tags] != "") { echo'<meta name="keywords" content="'.$dados[tags].'" />'; } else{ echo'<meta name="keywords" content="'.$keywords.'" />'; } ?> <? } ?> E se for, esse é o site que ainda está em teste: www.folhaumuarama.tk
  6. Ao compartilhar a notícia aparece a imagem facebook.png que está hospedada no meu servidor. Mas isso não fica legal. Como é um site de notícias e que terá conteúdo diário e vão ser compartilhadas várias páginas todos os dias, eu gostaria que aparecesse a foto da notícia e trecho do conteúdo da mesma. tenho certeza que isso convida o internauta que está visualizando a foto para clicar e ver o conteúdo completo. E assim o site de notícias ganha leitores. Obs. Eu entrei https://developers.facebook.com e não consegui encontrar a solução Veja, abaixo (negrito e itálico meu), o conteúdo que mais me interessou e que poderia resolver meu problema, porém tem como usar porque o script de notícias do meu site não tem o arquivo functions.php Como resolver Problema com Imagem de Posts Compartilhados no Facebook Posted by: Bruno Rodrigo Souza in Redes Sociais, Tutorial para WordPress O código abaixo funcionar perfeitamente para esta tarefa de ajustar a imagem miniatura do compartilhamento do Facebook. Vale lembrar que esse código vai adicionar a meta tag apenas em posts, não em páginas de categorias ou outras. Além disso você deverá usar a imagem destaque nos posts, pois ela que será indicada ao script do Facebook para ser usada como miniatura. O código também vai verificar se existe ou não essa imagem destaque, caso não exista vai indicar uma imagem padrão. Por isso escolha uma e salve no seu servidor, nós especificamos a imagem padrão “http://www.seusite.com.br/imagem-padrão.jpg”. Você precisa abrir o arquivo functions.php do seu template e cole o seguinte código dentro das tags PHP: function insert_image_src_rel_in_head() { global $post; if ( !is_singular()) //verificar se é um post return; if(!has_post_thumbnail( $post->ID )) { //verifica se existe imagem desta $default_image="http://example.com/image.jpg"; //coloque a url da imagem padrão echo ''; } else{ $thumbnail_src = wp_get_attachment_image_src( get_post_thumbnail_id( $post->ID ), 'medium' ); echo ''; } echo " "; } add_action( 'wp_head', 'insert_image_src_rel_in_head', 5 );
  7. Instalei um site de jornal porém nos compartilhamentos pelo facebook não aparece a imagem da foto e o conteúdo da notícia. Ao invés disso aparece sempre a foto facebook.png e um texto padrão (como por exemplo: Folha tal, o seu melhor jornal). Gostaria de saber como posso fazer para que nos compartilhamentos pelo facebook as pessoas veêm a foto da notícia compartilhada com sua descrição. Por exemplo: a foto de um acidente e trechos do relato que aconteceu chamam muita atenção quando um usuário vê na linha do tempo do facebook. Abaixo,deixo parte do arquivo tag (esse arquivo contém o link que leva ao arquivo faceook.png <? if($dados2[nome] != "") { echo'<meta name="author" content="'.$dados2[nome].'" />'; } else{ echo'<meta name="author" content="Lenium" />'; } ?> <? if($dados[titulo] != "") { echo'<meta property="og:title" content="'.$dados[titulo].'">'; } else{ echo'<meta property="og:title" content="'.$tsite.'">'; } ?> <? if($dados[foto] != "") { echo'<meta property="og:image" content="'.$usite.'thumbs.php?w=600&h=450&imagem=images/'.$tabela1.'/'.$dados[id].'/'.$dados[foto].'"/>'; } else{ echo'<meta property="og:image" content="'.$usite.'img/facebook.png"/>'; } ?> <? if($dados[tags] != "") { echo'<meta name="keywords" content="'.$dados[tags].'" />'; } else{ echo'<meta name="keywords" content="'.$keywords.'" />'; } ?> <? } ?>
  8. Amigos, instalei um script de um portal de notícias que permite criar usuários para postar notícias. Instalei no hostinger php5.2 (no 5.3 não ficou legal). No script de instalação já tem algumas notícias no banco de dados e consigo enviar novas notícias para lá. Porém da erro quando clico sobre a foto para abrir tanto as velhas notícias e as novas. O que faço? Olhe o código que aparece ao tentar abrir uma notícia e abaixo parte do arquivo exibir2.php (da linha 1 até a linha 14) onde está a linha 12 em que apresenta o erro - while($nt = mysql_fetch_assoc($views)){. Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in /home/u107930093/public_html/estrutura/noticias/exibe2.php on line 12 <? $variables=(strtolower($_SERVER['REQUEST_METHOD'])== 'GET') ? $_GET : $_POST; foreach ($variables as $k=> $v) $$k=$v; $tabela1 = "noticias"; $tabela2 = "users"; $tabela3 = "cidades"; $file = "$tabela1"; if($acao == "ver"){ $busca = "SELECT * FROM $tabela1 WHERE id='$id'"; $views = mysql_query("SELECT cont FROM noticias WHERE id=$id"); while($nt = mysql_fetch_assoc($views)){ $count = $nt['cont'] + 1; }

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...