Ir para conteúdo
wellingtonmelo

Exibir widget já criado através de um shortcode

Recommended Posts

Olá pessoal!

 

Estou criando um projeto e preciso exibir o conteúdo em lugares específicos dentro do meu thema.

Já criei alguns widgets e estão funcionando corretamente.

 

O problema é que não posso puxar o widget usando o código PHP que é:

<?php    if ( is_active_sidebar('sidebar-lateral') ) {dynamic_sidebar('sidebar-lateral');    }   ?>

O código que cria esse widget está no functions, é que:

// Registro das suas widgets
if ( function_exists('register_sidebar') )
{
    register_sidebar(array(
        'name' => __( 'Anúncio Lateral'),
        'id' => 'sidebar-lateral',
        'description' => __( 'Insira aqui seu anúncio Tamanho Automático Responsivo ou 728x90.'),
        'before_title' => '<h1>',
        'after_title' => '</h1>',
    ) );
}

O lugar onde preciso usar esse widget, é dentro de um plugin, e essa parte específica só aceita a formatação HTML, pois já está dentro de um PHP.

 

Preciso de um shortcode tipo: [sidebar-lateral]

 

Alguém me ajude por favor!

Compartilhar este post


Link para o post
Compartilhar em outros sites

 

Pessoal eu pensei que um shortcode serviria, porém não prestou não funciona dentro do HTML que já está dentro do PHP.

Eu consegui fazer um shortcode ficou assim: [fanpageface]

Mas ele não funciona dentro do código que preciso usar.

Preciso puxar a URL da fanpage dentro desse código

 

 

    public function get_html_questions() {
 
        $questions_html = '';
 
        if ( ! empty( $this->questions ) ) {
            foreach ( $this->questions as $key => $question ) {
 
                $desc = ! empty( $question['desc'] ) ? '<p class="desc">' . $question['desc'] . '</p>' : '';
                $questions_html .= ' <iframe class="facebook-like-button" style="cursor: default;" src="https://www.facebook.com/plugins/like.php?locale=pt_BR&href=https://www.facebook.com/plugins/like.php?locale=pt_BR&href= [fanpageface]&layout=button_count&action=like&size=small&show_faces=false&share=false&width=50&height=21" width="97" height="20" style="border:none;overflow:hidden;" scrolling="no" frameborder="0" allowTransparency="true"></iframe>';
            }
        }
 
        return $questions_html;
    }

 

Também já tentei colocar esse código que também puxa a URL, mas também não funciona dentro desse código. (funciona quando coloco dentro do PHP.

<?php echo $settings['defaults'.]['fb_app_id2'] ?>

 

O problema é que esse HTML já está dentro do PHP, como colocar um PHP ali?

 

Desculpa a complicação, entendo HTML, mas o PHP sou leigo.

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

  • Conteúdo Similar

    • Por Ana Paula dos Santos
      Olá pessoal, sou estudante de TI e não estou conseguindo desenvolver em php o cálculo de 3 variáveis que são escolhidas pelo usuário conforme formulário apresentado.
      Trata-se do cálculo de total de calorias ingeridas por uma pessoa, calculadas a partir da escolha do "cardápio". O cardápio apresenta apenas os nomes e em php eu preciso atribuir o valor das variáveis e somar as três variáveis escolhidas no cardápio. As escolhas são: um prato, uma sobremesa e uma bebida.
       
      O formulário está da seguinte forma:
       
      <html>
      <head>
      </head>
      <body>
      <h1><center>Quantidade de Calorias<center></h1>
      <br>
      <form method="POST" action="">
          <table align='center' border=1 width=300 height=50>
                  <tr>
                      <td align='center'>PRATOS</td>
                  </tr>
                  <tr>
                      <td><form> 
                          <input type="radio" name="pratos" value="1" checked> Arroz, feijão e carne<br>
                          <input type="radio" name="pratos" value="2"> Macarrão e frango<br>
                          <input type="radio" name="pratos" value="3"> Feijoada<br>
                          <input type="radio" name="pratos" value="4"> Sopa<br>
                          <input type="radio" name="pratos" value="5"> Pizza
                      </td></form>
                  </tr>    
          </table>
          <br>
          
          <table align='center' border=1 width=300 height=50>
                  <tr>
                      <td align='center'>SOBREMESAS</td>
                  </tr>
                  <tr>
                      <td><form> 
                          <input type="radio" name="sobremesas" value="1" checked> Salada de frutas<br>
                          <input type="radio" name="sobremesas" value="2"> Pudim<br>
                          <input type="radio" name="sobremesas" value="3"> Bolo<br>
                          <input type="radio" name="sobremesas" value="4"> Gelatina<br>
                          <input type="radio" name="sobremesas" value="5"> Torta de morango
                      </td></form>
                  </tr>    
          </table>
          <br>
          
          <table align='center' border=1 width=300 height=50>
                  <tr>
                      <td align='center'>BEBIDAS</td>
                  </tr>
                  <tr>
                      <td><form> 
                          <input type="radio" name="bebidas" value="1" checked> Água<br>
                          <input type="radio" name="bebidas" value="2"> Suco<br>
                          <input type="radio" name="bebidas" value="3"> Refrigerante<br>
                          <input type="radio" name="bebidas" value="4"> Refrigerante Light<br>
                          <input type="radio" name="bebidas" value="5"> Cerveja
                      </td></form>
                  </tr>
          </table>
          <br>
          
          <center><input type=submit value="Calcular"></center>
          
      </form>
       
      Não consigo atribuir os valores às variáveis e depois somar as variáveis selecionadas em php!!!
    • Por Thiiiziiin
      Olá pessoal, como vão?
      Estou com o seguinte problema, tenho uma tabela em um banco de dados e estou pegando os valores para gerar gráficos, com a API Charts.js.
      Estou fazendo um gráfico dinâmico, em tempo real, porém, se eu insiro um dado no banco de dados, não consigo alterar no gráfico (é preciso dar refresh na página para alterar).
      Toda a conexão com o banco de dados está correta, pois se eu atualizo a página, o gráfico altera com os valores que defini.

      Eu fiz testes utilizando o math.random(), e funcionou, atualizava conforme os valores aleatórios gerados por essa função.
      Quando defino para ler do banco de dados, fica estático.
      Minha conclusão é que a variável de conexão do banco de dados não se altera em tempo real.

      Existe a possibilidade de atualizar a variável a cada segundo em PHP?
      Segue o código que estou fazendo:
       
      <?php include('conexao.php'); $select = $PDO->query("SELECT corrente FROM tbdados ORDER BY id DESC limit 1"); $select->execute(); $result = $select->fetch(); // retorno do banco de dados mysql_close($select); ?> // Abaixo é o javascript da API Charts.js modificada <script type="text/javascript"> var ctx = document.getElementById('myChart').getContext("2d"); var gradientStroke = ctx.createLinearGradient(0, 0, 0, 0); gradientStroke.addColorStop(0, '#FFC800'); var pointStroke = ctx.createLinearGradient(0, 0, 0, 0); pointStroke.addColorStop(0, '#3f3f3f'); var gradientFill = ctx.createLinearGradient(0, 250, 0, 50); gradientFill.addColorStop(0, "rgba(63, 63, 63, 0.7)"); gradientFill.addColorStop(1, "rgba(255, 182, 0, 1)"); var contador = 0; var corrente = <?php echo $result['corrente']; ?>; // variável que foi capturada do banco var segundos = 1000; <?php echo $rows; ?> var myChart = new Chart(ctx, { type: 'line', data: { labels: ["", "", "", "", "", "", "", "", "", "" ], datasets: [{ label: "Corrente (A)", borderColor: gradientStroke, pointBorderColor: gradientStroke, pointBackgroundColor: gradientStroke, pointHoverBackgroundColor: pointStroke, pointHoverBorderColor: gradientStroke, pointBorderWidth: 5, pointHoverRadius: 10, pointHoverBorderWidth: 1, pointHitRadius: 25, pointRadius: 3, fill: true, backgroundColor: gradientFill, borderWidth: 2, data: [, , , , , , , , , ,] }] }, options: { legend: { position: "bottom", labels: { fontColor: 'rgba(255,255,255,0.5)' } }, scales: { yAxes: [{ ticks: { fontColor: "rgba(255,255,255,0.5)", fontStyle: "bold", beginAtZero: true, maxTicksLimit: 10, padding: 20, }, gridLines: { drawTicks: false, display: false } }], xAxes: [{ gridLines: { zeroLineColor: "transparent" }, ticks: { padding: 20, fontColor: "rgba(255,255,255,0.5)", fontStyle: "bold" } }] } } }); function adddata(){ myChart.data.labels.push(contador + " segundos"); myChart.data.labels.splice(0, 1); myChart.data.datasets[0].data.splice(0, 1); console.log(myChart.data.datasets[0].data); myChart.data.datasets[0].data.push(corrente); myChart.update(); contador+=(segundos / 1000); } setInterval(function(){ adddata(); },segundos); var option = { showLines: true, scales: { yAxes: [{ display: true, ticks: { beginAtZero:true } }] } }; $(function() { setTime(); function setTime() { var date = new Date().getTime(); var string = "Corrente:<br/><span class='corrente_valor'>"+corrente+"</span><br/>Amperes"; setTimeout(setTime, segundos); $('#correnteCirculo').html(string); } }); </script>  
    • Por PedroTodorovski
      Quais a vantagens e as desvantagens de desenvolver um menu dinâmico (banco de dados) ao invés de um menu estático? Estou desenvolvendo um ecommerce e tenho essa dúvida.
    • Por brunobos21
      Olá, eu criei um formulario que salva os dados em um banco de dados mysql, e criei uma pagina de relatorio para mostrar todo mundo que se cadastra nesse banco, até ai tudo certo, só que eu tenho um campo "Status" que eu queria colocar um checkbox para o administrador poder marcar esse campo e mudar no mysql o valor do Status para 1 sempre que clicar no botão atualizar, e se o administrador desmarcar antes apertar o botão Atualizar, não mudar na tabela. Já pesquisei em tudo quer canto e não achei, se puderem me ajudar enviando algum modelo de código ou algum tópico aqui do forúm que ja fale sobre isso, agradeço. Aqui está meu código:
      <?php // definições de host, database, usuário e senha $host = "host"; $banco = "banco"; $user = "user"; $pass = "pass"; $tbl_name="tabela";   $nome = $_POST['nome']; $numero = $_POST['numero']; $email = $_POST['email']; $cidade = $_POST['cidade']; $whatsapp = $_POST['whatsapp']; $data = $_POST['data']; $status = $_POST['status'];   // conecta ao banco de dados $con = mysql_pconnect($host, $user, $pass) or trigger_error(mysql_error(),E_USER_ERROR); // seleciona a base de dados em que vamos trabalhar mysql_select_db($banco, $con); // cria a instrução SQL que vai selecionar os dados $query = sprintf("SELECT * FROM Pesquisas"); // executa a query $dados = mysql_query($query, $con) or die(mysql_error()); // transforma os dados em um array $linha = mysql_fetch_assoc($dados); // calcula quantos dados retornaram $total = mysql_num_rows($dados); ?> <!DOCTYPE html> <html lang="en"> <head>     <title>Relatorio</title>     <meta charset="latin1_swedish_ci">     <meta name="viewport" content="width=device-width, initial-scale=1"> <!--===============================================================================================-->       <link rel="icon" type="image/png" href="images/icons/favicon2.ico"/> <!--===============================================================================================-->     <link rel="stylesheet" type="text/css" href="vendor/bootstrap/css/bootstrap.min.css"> <!--===============================================================================================-->     <link rel="stylesheet" type="text/css" href="fonts/font-awesome-4.7.0/css/font-awesome.min.css"> <!--===============================================================================================-->     <link rel="stylesheet" type="text/css" href="vendor/animate/animate.css"> <!--===============================================================================================-->     <link rel="stylesheet" type="text/css" href="vendor/select2/select2.min.css"> <!--===============================================================================================-->     <link rel="stylesheet" type="text/css" href="vendor/perfect-scrollbar/perfect-scrollbar.css"> <!--===============================================================================================-->     <link rel="stylesheet" type="text/css" href="css/util.css">     <link rel="stylesheet" type="text/css" href="css/main.css"> <!--===============================================================================================--> <script src="vendor/jquery/jquery-3.2.1.min.js"></script> <script type="text/javascript"> //--> </script> </head> <body> <form action=" " method="post">     <div class="limiter">         <div class="container-table100">             <div class="wrap-table100">                 <div class="table100">                     <table>                         <thead>                             <tr class="table100-head">                                 <th class="column1">Nome</th>                                 <th class="column2">Numero</th>                                 <th class="column3">Cidade</th>                                 <th class="column4">E-mail</th>                                 <th class="column5">Whatsapp</th>                                 <th class="column6">Tipo</th>                                 <th class="column6">Data</th>                                 <th class="column6">Status</th>                             </tr>                         </thead>                           <?php                         // se o número de resultados for maior que zero, mostra os dados                         if($total > 0) {                     // inicia o loop que vai mostrar todos os dados                     do {                         ?>                         <tbody>                                 <tr>                                     <td class="column1"><?=$linha['nome']?></td>                                     <td class="column2"><?=$linha['numero']?></td>                                     <td class="column3"><?=$linha['cidade']?></td>                                     <td class="column4"><?=$linha['email']?></td>                                     <td class="column5"><?=$linha['whatsapp']?></td>                                     <td class="column6"><?=$linha['tipo']?></td>                                     <td class="column6"><?=$linha['data']?></td>                                     <td class="column6">                                     <input type=checkbox name="banco[]" value="1"><?=$linha['status']?>                                     </td>                                 </tr>                                </tbody>                         <?php                     // finaliza o loop que vai mostrar os dados                     }while($linha = mysql_fetch_assoc($dados));                         // fim do if                         }                         ?>                     </table>                     <div class="container-contact2-form-btn">                                 <div class="wrap-contact2-form-btn">                                     <div class="contact3-form-bgbtn"></div>                                     <button class="contact2-form-btn" type="submit" value="Enviar" name="enviar">                                         Atualizar                                     </button>                                 </div>                             </div>                 </div>             </div>         </div>     </div> </form>   <!--===============================================================================================-->       <script src="vendor/jquery/jquery-3.2.1.min.js"></script> <!--===============================================================================================-->     <script src="vendor/bootstrap/js/popper.js"></script>     <script src="vendor/bootstrap/js/bootstrap.min.js"></script> <!--===============================================================================================-->     <script src="vendor/select2/select2.min.js"></script> <!--===============================================================================================-->     <script src="js/main.js"></script> </body> </html> <?php // tira o resultado da busca da memória mysql_free_result($dados); ?>
×

Informação importante

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