Cómo usar “get_template_directory_uri” en la función javascript

3 minutos de lectura

avatar de usuario
sasi kumar

Esta es una parte de mi código de archivo PHP de WordPress, en este escribí un código JavaScript y me gustaría mostrar los nombres, las imágenes de la consulta. Los nombres se muestran pero las imágenes no se muestran, luego agregué get_template_directory_uri(), después de agregar get_template_directory_uri() muestra un error en la consola como este “Error de sintaxis no detectado: falta) después de la lista de argumentos”. Todas las imágenes se almacenan en la carpeta de imágenes del tema de WordPress. ¿Cómo escribir código javascript para mostrar imágenes? Por favor, ayúdame a salir de este problema.

Gracias.

function partyFunction(){
debugger;
$postdata = {};
$postdata["partyId"]=$("#partydropdown").val();
$.post('<?php echo get_template_directory_uri() ? 
>/GetPartiesData.php',$postdata,function (data) {
debugger;
console.log(data);
var stringreplace = data.replace(/['"]+/g, '');
console.log(stringreplace);
var res = stringreplace.split(",");
  console.log(res);
  $("#partyBody").empty();
  $("#partyBody").html('');
  $("#partyBody").append("<tr>"+
    "<td>"+res[1]+"</td>"+
    "<td><img src=""+<?php echo get_template_directory_uri() ? 
 >/img/++res[2]+"" style="padding:5px;vertical-align: middle;border-style: 
 none;width:129px;height:109px;" ></td>"+
 "<td><img src=""+res[3]+"" style="padding:5px;vertical-align: 
 middle;border-style: none;width:129px;height:109px;" ></td>"+
 "<td><a href=""+res[4]+"" target="_blank">click here</a></td>"+
 "</tr>");
 });
 }

  • “Error de sintaxis no detectado” suena como un error de JavaScript, no como un error de PHP. Así que revisa el resultado real de tu script.

    – misorude

    24 de octubre de 2018 a las 6:52

avatar de usuario
Jalaj Kumar

//Add code in function.php 
function theme_directory_uri(){
wp_localize_script( 'ajax-login-script', 'uri_object', array( 
    'theme_directory_uri' => get_template_directory_uri()
));
}
add_action('init', 'theme_directory_uri');
//get in javascript

var theme_uri = uri_object.theme_directory_uri;

avatar de usuario
charan kumar

Método 1:

Asígnelo a una variable global en su archivo php y luego llámelo en javascript

así en la parte superior de su archivo .php

<script>
  template_directory = "<?php echo get_template_directory_uri() ?>"
</script>

luego usa template_directory así

$.post(template_directory+'/GetPartiesData.php',$postdata,function (data) {

Igual que este uso en image src también.


Método 2:

Utilice las funciones de puesta en cola de wordpress

wp_register_script( 'template-directory', 'myscript_url' );
wp_enqueue_script( 'template-directory' );
wp_localize_script( 'template-directory', 'directory_name', array( 'templateUrl' => get_stylesheet_directory_uri() ) );

y use esto en su script use así

template_directory = directory_name.templateUrl;

$.post(template_directory+'/GetPartiesData.php',$postdata,function (data) {

SyntaxError no capturado: falta)

<img src=""+<?php echo get_template_directory_uri() ?>/img/++res[2]+""

Reemplazar con:

<img src="https://stackoverflow.com/questions/52962278/<?=get_template_directory_uri()?>/img/"+res[2]+""

Te perdiste el punto y coma al final de la declaración:

<?php echo get_template_directory_uri(); ?>
-                                      ^ just missed 

PD ha usado la misma línea más de una vez, asegúrese de que todas las líneas hayan sido modificadas.

¿Ha sido útil esta solución?

Esta web utiliza cookies propias y de terceros para su correcto funcionamiento y para fines analíticos y para mostrarte publicidad relacionada con sus preferencias en base a un perfil elaborado a partir de tus hábitos de navegación. Al hacer clic en el botón Aceptar, acepta el uso de estas tecnologías y el procesamiento de tus datos para estos propósitos. Configurar y más información
Privacidad