Quazimorda
Ответы в темах
-
В постоянных ссылках выбран такой шаблон:
/%category%/%postname%.shtmlКогда я говорил, что убираю слово category, то имел в виду адресную строку браузера.
Пишу так: http://apkm.info/category/news/ — всё работает,
пишу иначе: http://apkm.info/news/ — и меня снова перебрасывает на показ одной записи.С другой стороны, как только я убираю слово category из ссылки, всё возвращается на круги своя. Вордпресс перестает считать, что я в категории, какой бы то ни было.
UPD.
Кажется нашёл причину. Я не создавал отдельного шаблона для вывода категорий, но и шаблона для вывода архивов в теме тоже нет. Как непросто бывает разбираться в чём-то, перешедшем к тебе по наследству от других товарищей. Создам шаблон для архивов, и посмотрю, что это мне даст.Всё ещё веселее. Плагинов, которые вырезали бы /category, нет совсем — это раз.
В меню пункт добавлен судя по всему не как Рубрика, а как Произвольная ссылка. Стоит добавить его именно как Рубрику — всё начинает работать корректно — это два. Очевидно нужно переделать меню, во-первых, и поставить плагин, который бы вырезал слово category, во-вторых.Большое Вам спасибо за терпение и помощь.
🙂
Я сейчас в приведённом выше куске про новости, сразу после вывода навигации на предыдущую и следующую страницы вставил строчку:
if ( is_category(8) ) { echo "12"; }
Так вот, ничего на сайте не напечаталось. Так что условие is_home() отработало, а is_category(8) — нет.
Исправил, работает ровно так же. То есть проблема никуда не делась, увы.
Как-то так:
<?php get_header(); ?> <?php get_sidebar(); ?> <div id="container"> <?php /*Готовим переменные для вывода в разных рубриках*/ $t1 = "Новости"; $t2 = "Участники Ассоциации ПКМ"; $t3 = "Партнеры Ассоциации"; $df = "d.m.Y"; $p1 = "Подробнее"; $pp = "Предыдущая страница →"; $np = "← Следующая страница"; $addr = "adres_rus"; // выводим список новостей if ( is_home() || in_category(8) ) { echo "<h1>".$t1."</h1>"; $query = new WP_Query( array( 'category_name' => 'news', 'posts_per_page' => '10', 'paged' => get_query_var( 'paged' ) ) ); if ( $query->have_posts() ) { while ( $query->have_posts() ) { $query->the_post(); echo "<p class=\"data\">"; echo the_time($df); echo "</p>"; echo "<h2><a href=\""; echo the_permalink(); echo "\">"; echo the_title(); echo "</a></h2>"; echo "<p>"; echo the_excerpt(); echo "</p>"; echo "<p class=\"podrobno\"><a href=\""; echo the_permalink(); echo "\">"; echo $p1; echo " >>></a></p>"; } echo "<p class=\"navbar\">"; echo posts_nav_link(' | ', $np, $pp); echo "</p>"; } else { echo "<p>Не найдено.</h2>"; } } // Возвращаем оригинальные данные поста. Сбрасываем $post. wp_reset_postdata(); // конец вывода списка новостей ... ?>
В коде далее вместо многоточия идут аналогичные блоки для вывода списков ещё двух рубрик: Участники Ассоциации и Партнеры, я эти куски кода опустил, так как с ними всё нормально.
Вопрос же в том, почему вместо списка записей из рубрики Новости, открывается одна запись (то есть используется шаблон single.php?
Отдельного специального шаблона, типа category.php я не создавал. Есть index.php, в котором имеются вставки вида:
<? if ( in_category(8) ) { ... } ?>
Где перебираются нужные мне категории и в цикле вроде того, что уже показывал выше, описано как необходимо выводить списки записей.
Flector
На самом деле суть проблемы я уже описал. Вот адрес сайта, где на неё можно посмотреть лично: http://apkm.info/
На главной сейчас отображаются посты из рубрики Новости. Их десять, и благодаря Вам, пагинация настроена и работает. Вверху сайта есть горизонтальное меню, первый же пункт которого — Новости, ведет по адресу: http://apkm.info/news/
По идее, при нажатии на этот пункт меню, должны загрузиться всё те же 10 записей из указанной рубрики. Вместо этого почему-то открывается один материал из рубрики — самая старая запись. Не могу понять, почему так происходит и как это исправить?
Flector
Вы правы, такой вариант:
$query = new WP_Query( array( 'category_name' => 'news', 'posts_per_page' => '10', 'paged' => get_query_var( 'paged' ) ) );
заставил, таки выводить посты с нужных страниц. Критичным был параметр paged, впрочем, Вы о нем мне писали выше, это я не сразу сообразил как вставить это в условие.
А вот проблема с выводом одной записи вместо целого их списка осталась.
при попытке перейти по адресу /news/ вместо ожидаемого уже списка из 10 новостей, происходит перенаправление на самую старую новость.
Всё ещё более грустно и дело, конечно, не в обновлении до четвёрки. В разделе Настройки -> Чтение стоят настройки:
На главной странице отображать — Ваши последние записи.
На страницах блога отображать не более — 10 записей.Тут в общем, вопросов нет — на главной странице эти записи выводит приведённый мною выше код. При этом есть на сайте рубрика «Новости», у неё ярлык «news». В ней-то и лежат записи. Их значительно больше десяти. Во-первых, не работает корректно навигация между страницами, на каждой из которых выводится по 10 записей. Во-вторых, при попытке перейти по адресу /news/ вместо ожидаемого уже списка из 10 новостей, происходит перенаправление на самую старую новость.
Посмотреть можно тут:
http://apkm.info/Ума не приложу, что делать.
Flector, количество выводимых записей указано в админке в разделе Настройки -> Чтение, это раз.
Добавка этой строки сразу после
$query = new WP_Query( array( 'category_name' => 'news' ) );
ничего не дала. Я и саму строчку правил так:
$query = new WP_Query( array( 'category_name' => 'news', 'posts_per_page' => '10') );
Тоже ничего не дало, это два.Форум: Проблемы и решения
Тема: Рубрики для разных языков на сайтеУвы, придется решать вопрос при помощи переадресаций в .htaccess, видимо. При переводе таксономий при помощи WPML, названия рубрик переводятся, а вот ярлыки приходится все-равно вписывать и делать их уникальными. Так уж работает этот плагин. То есть он может синхронизировать рубрики в разных языках, но рубрики в них создаются свои ((.
Форум: Проблемы и решения
Тема: Рубрики для разных языков на сайтеSeVlad, благодарю за отклик. Но то-то и оно, что в WPML при попытке ввести перевод для записи, которая уже находится в некоей рубрике для русского языка, в блоке выбора рубрик галка стоит на «Без рубрики» и прочих рубрик из русской версии просто нет. Ну а если эти рубрики отдельно для версий на других языках создавать, та самая петрушка и получается, как я описал выше.
Форум: Проблемы и решения
Тема: Архив сайтаНе понятно в двух местах:
1 — «есть сайт (одностраничный сайт на шаблоне Tempera)»
2 — «вся информация старая(т.е. полноценный сайт только со старой инфой)»Всё-таки одностраничный сайт-визитка мероприятия или сайт со своими рубриками и кучей записей и страниц?
Если первое, то создайте рубрики: Архив, например, и Новости. Запись из рубрики Новости — выводите на главной. А как мероприятие прошло, создайте в новостях новую запись с инфой про мероприятие будущее, а старую запись перенесите в рубрику Архив, благо, делается это в самой записи, снимете одну галочку и поставите другую. Годится так?
Форум: Проблемы и решения
Тема: Очень неприятная проблемаВозможно дело в каком-то из плагинов. Попробуйте деактивировать их все в админке, а затем включайте по одному. Или всплывающее окно не позволяет до админки добраться? Если так, то может потребоваться из папки wp-content/plugins убрать все плагины и потом по одному восстанавливать.