Wordpress получить идентификатор - не отображается - PullRequest
0 голосов
/ 22 июля 2011

Я надеюсь, что кто-то может помочь мне с этой относительно простой проблемой:

 <?php $idairports = the_ID(); ?>

$liveposts = $wpdb->get_results( $wpdb->prepare("SELECT * FROM wp_airports WHERE id = ".$idairports."") );

Похоже, я не могу передать переменную в строку выше.

$ idairports должен быть числовым значением ...

Если я сделаю это <?php echo $idairports ?>, я получу значение.

Но я не получаю значение здесь FROM wp_airports WHERE id = ".$idairports.""

Что я делаю не так

Спасибо

Хорошо, я нашел основную проблему:

global $wpdb;
$page_object = $wp_query->get_queried_object();
$page_id = $wp_query->get_queried_object_id();
$idairports = $page_id;

Похоже, я неправильно понял the_ID(); ...

Если я получу page_id, как указано выше, он будет работать на 100%

Может кто-нибудь объяснить, почему the_ID () будет работать, если я выведу the_ID () вне оператора MYSQL ...

Ответы [ 2 ]

2 голосов
/ 22 июля 2011

Я думаю, что ваша проблема с двойными кавычками. Попробуйте удалить кавычки при ссылке на идентификатор, подобный этому.

$liveposts = $wpdb->get_results( $wpdb->prepare('SELECT * FROM wp_airports WHERE id = ' . $idairports) );
2 голосов
/ 22 июля 2011

Ваши цитаты испорчены, а ваши php-теги выглядят неловко:

<?php 
    $idairports = the_ID();
    $liveposts = $wpdb->get_results($wpdb->prepare('SELECT * FROM wp_airports WHERE id = ' . $idairports));
?>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...