Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

194
Visualizações
Wordpress cómo usar shortcode para obtener un valor de localStorage

Problema:
Necesito crear un shortcode que contenga un valor extraído de una etiqueta segura.
Cuando hago eco de "document.write(localStorage.getItem('getnum'));";
el código muestra el valor 85.
Pero cuando lo devuelvo (el siguiente código), el código abreviado [showpoints] no muestra ningún valor.
¿Podría por favor indicarme cómo devolver el valor?

Código que probé:

 <?php ?> <script type="text/javascript"> jQuery(document).ready(function($) { let getnum = $('div.elementor-widget-container p > strong').text(); JSON.parse(localStorage.getItem('getnum')); }); </script> <?php function points_show_function() { return "<script>document.write(localStorage.getItem('getnum'));</script>"; } add_shortcode('showpoints', 'points_show_function');

Consola:
No hay error

HTML (el código proviene de un complemento de punto y recompensa de Yith):

 <div class="elementor-element elementor-element-c1d0790 elementor-widget elementor-widget-text-editor" data-id="c1d0790" data-element_type="widget" id="pointsid" data-widget_type="text-editor.default"> <div class="elementor-widget-container"> <p>Your credit is <strong>85</strong> Points</p> </div> </div>
about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

  1. ¡Debería establecer el valor primero para poder obtenerlo más tarde! En la línea 6 necesitaría configurarlo.
  2. Reemplace return con echo en su función de devolución de llamada.
  3. ¡Debería llamar a su código corto usando do_shortcode en su plantilla!

Así que tu código sería algo como esto:

 <script type="text/javascript"> jQuery(document).ready(function($) { let getnum = $('div.elementor-widget-container p > strong').text(); localStorage.setItem('getnum', getnum); }); </script> <?php add_shortcode('showpoints', 'points_show_function'); function points_show_function() { echo "<script>document.write(localStorage.getItem('getnum'));</script>"; } do_shortcode('[showpoints]');

Este do_shortcode('[showpoints]'); hará la magia aquí! Así que colóquelo en su plantilla donde desea generar el valor.


Manera alternativa

De acuerdo con Mozilla Docs , no necesita usar JSON.stringify para establecer un valor de cadena único en localStorage , pero en caso de que no pueda hacer funcionar el primer método, use el siguiente código en su lugar:

 <script type="text/javascript"> jQuery(document).ready(function($) { let getnum = $('div.elementor-widget-container p > strong').text(); localStorage.setItem('getnum', JSON.stringify(getnum)); }); </script> <?php add_shortcode('showpoints', 'points_show_function'); function points_show_function() { echo "<script>document.write(JSON.parse(localStorage.getItem('getnum')));</script>"; } do_shortcode('[showpoints]');

Otra forma de usar return

Si necesita return el valor en su función de devolución de llamada, use este código:

 <script type="text/javascript"> jQuery(document).ready(function($) { let getnum = $('div.elementor-widget-container p > strong').text(); localStorage.setItem('getnum', JSON.stringify(getnum)); }); </script> <?php add_shortcode('showpoints', 'points_show_function'); function points_show_function() { return "<script>document.write(JSON.parse(localStorage.getItem('getnum')));</script>"; } echo do_shortcode('[showpoints]');
about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda