Obține ID-ul postării curente în functions.php
9 apr. 2014, 12:43:54
Vizualizări: 47.6K
Voturi: 7
Am o funcție wp_localize_script()
în fișierul meu functions.php unde trebuie să trimit ID-ul postării curente către un fișier jQuery. Așa că mă întrebam cum pot obține ID-ul postării curente într-un fișier functions.php.
Următoarele variante nu funcționează:
global $post;
$post_id = $post->ID;
global $wp_query;
$post_id = $wp_query->get_queried_object_id();
Toate răspunsurile la întrebare
1
2
Dacă conectați funcția de localizare a scriptului la wp_enqueue_scripts
, atunci veți avea acces la variabila global $post
. Atâta timp cât alegeți un hook la sau după 'wp', ar trebui să aveți acces la 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 );
}

Douglas.Sesar
1.37K
9 apr. 2014 16:07:44
Comentarii
Există vreo altă soluție alternativă, ca o funcție independentă de exemplu, în loc să fie în interiorul wp_enqueue_scripts
?

17 sept. 2014 16:04:21
Întrebări similare
3
răspunsuri
7
răspunsuri
1
răspunsuri
2
răspunsuri
4
răspunsuri