Flector

Как вывести список записей рубрики в выпадающем меню?

Выпадающий список с записями

Если вы хотите вывести на странице рубрики список всех записей этой рубрики в выпадающем меню, то вы должны использовать примерно такой код, вставленный в нужный файл шаблона (category.php или archive.php) вашей темы:

<?php 
$category = get_the_category();
$catID = $category[0]->term_id;
$args = array(
    'numberposts' => -1,
    'category' => $catID
);
$catPosts = get_posts($args);
 
echo '<form method="POST">';
echo '<select name="goToPost" onchange="document.location=this.value">';
echo '<option value="">'.'Все записи в рубрике: '.get_cat_name($catID).'</option>';
foreach ($catPosts as $singlePost) {
    echo '<option value="'.get_bloginfo('url').'/index.php?p='.
    $singlePost->ID.'">'.$singlePost->post_title.'</option>';
};
echo '</select>';
echo '</form>';
?>

Этот код выведет в выпадающем меню список всех записей текущей рубрики. Если вы хотите ограничиться конкретным числом записей, то исправьте значение параметра 'numberposts' в коде (-1 выводит все записи). При желании в этом списке можно вывести все записи сайта, для этого надо использовать такой код:

<?php 
$args = array(
    'numberposts' => -1
);
$catPosts = get_posts($args);
 
echo '<form method="POST">';
echo '<select name="goToPost" onchange="document.location=this.value">';
echo '<option value="">'.'Все записи сайта.</option>';
foreach ($catPosts as $singlePost) {
    echo '<option value="'.get_bloginfo('url').'/index.php?p='.
    $singlePost->ID.'">'.$singlePost->post_title.'</option>';
};
echo '</select>';
echo '</form>';
?>

При выборе какой-либо записи в списке эта запись будет немедленно открыта.


Комментарии (1 комментарий)
  1. Артем:

    Спасибо за идею, вот если бы еще можно было внешний вид отформатировать этого списка было бы вообще супер

Написать комментарий

Для вставки кода воспользуйтесь кнопкой "Код". Используйте предпросмотр!