• DONATE to NULLED!
    Вы можете помочь Форуму и команде, поддержать финансово.
    starwanderer - модератор этого раздела будет Вам благодарен!

Помощь Не работают Предыдущие записи в категориях

Статус
В этой теме нельзя размещать новые ответы.

Alex_

Постоялец
Регистрация
1 Фев 2009
Сообщения
292
Реакции
105
Привет всем.

На моем блоге не работают "Предыдущие записи" в категориях.
На главной странице всё работает, а вот с категорий - выдает 404.

В чем может быть проблема?

Нашел тему наподобие Для просмотра ссылки Войди или Зарегистрируйся
но решения не нашел, у меня есть .htaccess

Wordpress 2.8.4

Помогите плиз :thenks:
 
В таком случае покажите код archive.php, а также код function.php
А еще лучше дайте ссылку на ваш шаблон здесь или киньте ссылку мне в личку, я посмотрю почему у вас на категориях не работает навигация.
 
archive.php:

PHP:
<?php get_header(); ?>
  <div id="content">
  
  <?php if (have_posts()) : ?>
  
  	<?php while (have_posts()) : the_post(); ?>
  
    <div class="post" id="post-<?php the_ID(); ?>">
	  <div class="post-title">
	  <h2><a href="<?php the_permalink() ?>" rel="bookmark" title="Permanent Link to <?php the_title(); ?>"><?php the_title(); ?></a></h2>
		<span class="post-comments"><?php comments_popup_link('No Comments »', '1 Comment »', '% Comments »'); ?></span>
	  </div>
	  <div class="entry">
		<?php the_content('Click here to read more.. &raquo;'); ?>
	  </div>
      <div class="posted">
					<span class="category"><?php the_category(', ') ?></span> <span class="timed"><?php the_time('F jS Y') ?></span>  <?php edit_post_link('Edit', '', ''); ?>			
				 </div>
	</div><!--/post -->
     <div>
      </div>
	
	<?php endwhile; ?>
	
	<div class="navigation">
	  <span class="previous-entries"><?php posts_nav_link(' · ', 'previous page', 'next page'); ?></span>
	</div>
	
	<?php else : ?>
	
		<h2>Not Found</h2>
		<p>Sorry, but you are looking for something that isn't here.</p>
		
  <?php endif; ?>
	
  </div><!--Content End -->
  
<?php get_sidebar(); ?>

<?php get_footer(); ?>



Theme Functions (functions.php)

PHP:
<?php
if ( function_exists('register_sidebar') )
    register_sidebar(array(
        'before_widget' => '<li id="%1$s" class="widget %2$s">',
        'after_widget' => '</li>',
        'before_title' => '<h2 class="sidebartitle">',
        'after_title' => '</h2>',
    ));
?>


Шаблон вот этот - Для просмотра ссылки Войди или Зарегистрируйся
 
то есть вы ходили по сайту, в категориях, свободно нажимали Next Page и не было 404 ? или я не правильно понял?
Да именно так, однако, посетив ваш сайт я кажется понял в чем проблема...

Навигация на вашем сайте не работает в том случае, если ссылки в категориях выглядят так
_http://domain.com/another-news/
_http://domain.com/another-news/page/2/
Но если ссылки вида
_http://domain.com/category/another-news/
_http://domain.com/category/another-news/page/2/
Все прекрасно работает.

Не могли бы вы сделать скриншот админи в разделе Settings-Permalinks, а также на всякий случай выложить содержимое файла .htaccess.
 
содержимое .htaccess:

PHP:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress


Скриншот админки в разделе Settings-Permalinks


attachment.php
 

Вложения

  • permalinks_31.03.jpg
    permalinks_31.03.jpg
    117,4 KB · Просмотры: 15
1. Убираете/отключаете/удаляете плагин Seo-Without-Category

2. В wp-includes/category-template.php (на всякий случай сохраните резервную копию на рабочий стол) ищите следующую строчку кода:
PHP:
$catlink = get_option('home') . user_trailingslashit($catlink, 'category');
и добавляете ниже этот код
PHP:
$catlink = str_replace('/category', "", $catlink);

3. В wp-includes/classes.php (на всякий случай сохраните резервную копию на рабочий стол) ищите следующую строчку кода:
PHP:
if ( isset($error) )
$this->query_vars['error'] = $error;
и добавляете ниже код
PHP:
if (@$this->query_vars["name"] == "page")
{
$tmp_ar = $this->query_vars;
$this->query_vars = array();
$this->query_vars["paged"] = str_replace("/", "", $tmp_ar["page"]);
$this->query_vars["category_name"] = $tmp_ar["category_name"];
}

4. Изменяете содержимое файла .htaccess (на всякий случай сохраните резервную копию на рабочий стол:(
PHP:
# BEGIN WordPress 
<IfModule mod_rewrite.c> 
RewriteEngine On 
RewriteBase / 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule . /index.php [L] 
RewriteRule ^category/(.+)$ http://domain.com/$1 [R=301,L]
</IfModule> 
# END WordPress
*domain.com заменяете на свой домен.

В результате все работает и сохраняется текущая структура ЧПУ.

P.S. советую сменить автоматически сгенерированный пароль для wordpress на более сложный (цифро-букво-символьный)...
 
А если я захочу сменить шаблон, то что ниубдь надо будет править?

Это напрямую зависит от прямоты рук автора шаблона :) Если шаблон писался человеком со знанием дела, то ничего менять скорее всего не придется.
 
Всё супер! работает! Ура :yahoo:
Еще вопрос: А если я захочу сменить шаблон, то что ниубдь надо будет править?
Нет, проделанная выше операция никак не связана с шаблоном.
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху