Jaka jest różnica między $ post_id a get_the_ID ()?

11

Jaka jest różnica między $post_idi get_the_ID()?

Nie mogłem znaleźć żadnej dokumentacji na temat $post_id.

chwytak
źródło

Odpowiedzi:

17

get_the_ID()zwraca identyfikator bieżącego postu za pomocą get_post. Get post zakłada, że ​​bieżący post jest globalzmienną,$post chyba że przekazane parametry określają inaczej. Oznacza to, że get_the_ID()powinien zwrócić tę samą wartość, co zawarta w $post->ID. Używanie get_the_ID()pozwala uniknąć bezpośredniego kontaktu z globalnym, choć masz do czynienia z nim pośrednio. Używanie jest get_the_ID()zwykle mniej podatne na błędy w plikach szablonów motywów.

$post_idjest nazwą zmiennej powszechnie używaną do odsyłania identyfikatora postu, ale nie jest to zmienna podstawowa w ten sposób $post, chociaż jest definiowana kilka razy w określonych kontekstach:

grep -Rn '$ post_id' * | grep global
wp-admin / obejmuje / class-wp-comments-list-table.php: 25: globalny $ post_id;
wp-admin / obejmuje / class-wp-comments-list-table.php: 45: globalny $ post_id, $ comment_status, $ search, $ comment_type;
wp-admin / obejmuje / class-wp-comments-list-table.php: 141: globalny $ post_id, $ comment_status, $ comment_type;
wp-admin / obejmuje / class-wp-comments-list-table.php: 250: globalny $ post_id;
wp-admin / obejmuje / ajax-akcje.php: 691: globalny $ tabela_wp_list, $ post_id;
wp-zawiera / ms-deprecated.php: 115: funkcja clear_global_post_cache ($ post_id) {
s_ha_dum
źródło