Ответы в темах

Просмотр 15 ответов — с 301 по 315 (всего 320)
  • В постоянных ссылках выбран такой шаблон:
    /%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 " >>&gt</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 убрать все плагины и потом по одному восстанавливать.

Просмотр 15 ответов — с 301 по 315 (всего 320)