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>';
?>

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


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

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

  2. Все это прекрасно. Но пустой совет, если не написано, куда вставлять? С кодами шутки плохи, может и сайт накрыться. Нашла я только archive.php. Там свой код есть. А этот куда вставлять: вместо него, в какое-то определенное место? У Вас единственная статья, которая дала надежду на решение вопроса - уже какой раз берусь за решение, время теряю и ни у кого нет статьи на эту тему! Но опять нет конца. Буду признательна, если напишите, куда вставить код в "нужный файл шаблона"

    • Валерий:

      Все подробно описано, спасибо автору. По поводу кода, в ответ на ваш комментарий, куда вставлять, желательно иметь опыт по php. В противном случае да, может и сайт лечь, от незнания.
      Если у Вас есть sitebar, скачайте плагин Code Widget, переместите этот виджет в сайтбар и в него вставьте этот код, выбрав из списка php code. сохранить и готово.
      Если не поможет, тогда обратитесь к профессианалам, на wp-kama
      или напишите мне archilym@gmail.com

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

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