В чем разница между $post_id и get_the_ID()?

31 авг. 2013 г., 20:16:45
Просмотры: 17.5K
Голосов: 11

В чем разница между $post_id и get_the_ID()?

Я не смог найти никакой документации по $post_id.

0
Все ответы на вопрос 1
0
17

get_the_ID() возвращает ID текущей записи через функцию get_post. Функция получения записи предполагает, что текущая запись хранится в глобальной переменной $post, если не переданы параметры, указывающие иное. Это означает, что get_the_ID() должна возвращать то же значение, что содержится в $post->ID. Использование get_the_ID() позволяет избежать прямого обращения к глобальной переменной, хотя вы всё равно работаете с ней косвенно. В файлах шаблонов темы использование get_the_ID() обычно менее подвержено ошибкам.

$post_id — это распространённое имя переменной для обращения к ID записи, но это не системная переменная уровня $post, хотя она и определяется несколько раз в определённых контекстах:

grep -Rn '$post_id' * |grep global
wp-admin/includes/class-wp-comments-list-table.php:25:          global $post_id;
wp-admin/includes/class-wp-comments-list-table.php:45:          global $post_id, $comment_status, $search, $comment_type;
wp-admin/includes/class-wp-comments-list-table.php:141:         global $post_id, $comment_status, $comment_type;
wp-admin/includes/class-wp-comments-list-table.php:250:         global $post_id;
wp-admin/includes/ajax-actions.php:691: global $wp_list_table, $post_id;
wp-includes/ms-deprecated.php:115:function clear_global_post_cache( $post_id ) {
31 авг. 2013 г. 20:39:24