17.01.2011


Получение POST_ID по значению custom_field


Категории: Разработанное нами — Administrator

Технология использования custom_fields описана в документации здесь.
Кратко: у записей и страниц могут быть custom_fields (поля определенные пользователем), по паре текстовых значений: — ключ и его значение, можно получить POST_ID первой записи, которая содержит эту пару. Функцию я у кого-то взял, но у кого уже не помню, это было давно. Вставьте ее в functions.php (об этом файле смотрите информацию здесь: о файле functions.php).

/*
параметры:
$key — название custom_field
$value — значение custom_field
$db — это глобальный объект, который содержит указатель на базу данных wordpress, как правило, его указывать не надо, он уже есть и называется $wpdb в том месте, откуда вызывается функция
*/
function get_post_by_meta ($key, $value, $db) {
$sql = ‘SELECT post_id FROM wp_postmeta WHERE meta_key=»‘.$key.'» AND meta_value=»‘.$value.'»‘;
$row = $db->get_row($sql);
return $row->post_id;
}

Вот пример использования этой функции в файле header.php, активной схемы wordpress:

query_posts(‘page_id=’.get_post_by_meta(‘page_code’,$_REQUEST[‘page_name’],$wpdb));

Функция возвращает только одно значение, таких пар (ключ-значение) может быть несколько для разных записей, но возвращается только первая.





Календарь


Архив