web-dev-qa-db-fra.com

Récupère l'id du post actuel dans functions.php

J'ai une fonction wp_localize_script() dans le fichier functions.php où j'ai besoin d'insérer l'ID de publication actuelle de la publication actuelle dans un fichier jQuery. Donc je me demandais comment vous pouvez obtenir l'ID de poste actuel d'un poste dans mon functions.php.

Ces deux ne fonctionnent pas:

global $post;
$post_id = $post->ID;

global $wp_query;
$post_id = $wp_query->get_queried_object_id();
6
Robbert

Si vous associez votre fonction de script de localisation à wp_enqueue_scripts, vous aurez alors accès à la variable global $post. Tant que vous choisissez un crochet à ou après 'wp', vous devriez avoir accès au global $post.

<?php
add_action('wp_enqueue_scripts', 'YOUR_NAME_scripts'); 

function YOUR_NAME_scripts() {

            wp_enqueue_script('YOUR_NAME-js');

            global $post;
            $params = array(
                'site_url' => site_url(),
                'admin_ajax_url' => admin_url('admin-ajax.php'),
                'post_id' => $post->ID
            );

            wp_localize_script( 'jquery', 'YOUR_NAME', $params );

}
10
Douglas.Sesar