J'essaie de faire écho à l'identifiant du post dans un post Javascript et de ne pas avoir de chance.
var post_id = '123'; // works fine
var post_id = '<?php global $post; echo $post->ID; ?>'; // echos 'ID; ?>'
var post_id = '<?php echo $post->ID;?>'; // echos 'ID; ?>'
Existe-t-il un moyen correct de répercuter l'ID de la publication?
Vous pouvez transmettre des variables à javascript à l'aide de la fonction wp_localize_script: https://codex.wordpress.org/Function_Reference/wp_localize_script
Ajouter ce qui suit à functions.php
if (! function_exists ('load_my_script')) { function load_my_script () { global $ post; $ deps = array ('jquery'); $ version = '1.0'; $ in_footer = true; wp_enqueue_script ('mon-script', get_stylesheet_directory_uri (). '/js/my-script.js', $ deps, $ version, $ in_footer); wp_localize_script ('mon-script', 'mon_script_vars', tableau ( 'postID' => $ post-> ID ) ); } } add_action ('wp_enqueue_scripts', 'load_my_script');
Et votre fichier js (nom-thème/js/my-script.js):
jQuery (document) .ready (function ($) { alert (my_script_vars.postID); });
Remarque:
Si vous essayez de passer des entiers, vous devrez appeler la fonction JavaScript parseInt ().
Il est disponible dans le champ masqué post_ID
pour les publications et les nouvelles publications. Vous pouvez l'obtenir en utilisant ce code jQuery simple.
jQuery("#post_ID").val()
Ok, j'ai compris. Peut-être que ça va aider quelqu'un. Dans le thème functions.php:
function pid() {
global $current_screen;
$type = $current_screen->post_type;
?>
<script type="text/javascript">
var post_id = '<?php global $post; echo $post->ID; ?>';
</script>
<?php
}
add_action('wp_head','pid');