22.03.2011


Получение ID поста, страницы, custom object по его коду (SLUG) — GET_POST_ID_BY_SLUG


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

Как оказалось, если у поста есть код (это поле POST_NAME в таблице WP_POST), обычно сначала туда по умолчанию переносится заголовок поста, это верно не только для постов, но и для всех других объектов, которые хранятся в этой таблице (там правда есть еще черновики, но они нас не интересуют). Мы не нашли функции в WordPress, которая бы возвращала ID по POST_NAME, это можно сделать массой способов, но все они требуют предварительной подготовки и написания нескольких строк кода, аналога функции GET_CATEGORY_BY_SLUG для категорий мы не нашли. Ниже приведена функция, которая это делает:

function get_post_id_by_slug($slug) {
  global $wpdb;
  return $wpdb–>get_var('SELECT po.ID FROM '.DB_NAME.'.wp_posts po WHERE po.post_name = "'.$slug.'" LIMIT 1');
}

Вот пример ее вызова:

    echo '
      <a href="?p='.get_post_id_by_slug('_result_help').'" id="banner–link">
        <div id="banner–title">Совет :</div>
        <h2>
          Результаты поиска можно не только посмотреть в виде таблице на экране,
          но и вывести в отдельное окно, а также сохранить в формате MS Word или MS Excel.
          Чтобы узнать как это работает, нажмите пожалуйста сюда…
        </h2>
      </a>
    ';




Календарь


Архив