Как получить идентификатор страницы, которую пользователь сейчас просматривает на сайтах Wordpress? - PullRequest
0 голосов
/ 04 июня 2010

Я разрабатываю плагин для Wordpress, в котором я отображаю архив на основе категорий. Категории - это мои страницы на моем сайте, и каждая страница должна отображать сообщение в архиве, принадлежащее только этой категории. Поэтому мне нужно динамически получить идентификатор категории страницы, которую пользователь просматривает в настоящее время. Как я могу получить ее?

Ответы [ 2 ]

0 голосов
/ 04 июня 2010

Помните, что сообщение может принадлежать более чем одной категории. Этот код может работать для вас:

if(is_category()){
    $cat_id = get_query_var('cat');
} else if (is_single()) {
    $cat_id = '';
    foreach (get_the_category() as $catt) {
        $cat_id .= $catt->cat_ID.' '; 
    }
    $cat_id = str_replace(" ", ",", trim($cat_id));
}
if (!intval($cat_id)) $cat_id='';

$query = "&category=$cat_id";
$posts = get_posts($query);
$postlist = ''; 
foreach ($posts as $post) {
   // something for each post
}
0 голосов
/ 04 июня 2010

Вы используете слово page немного запутанно - вы говорите о страницах WordPress, которые вы создали в админке, или о веб-странице, отображаемой для каждого архива категории?

Если последнее, вы можете использовать глобальный $wp_query для получения идентификатора категории следующим образом;

$cat_ID = $wp_query->get_queried_object_id();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...