Переадресация на 404.php
-
Как сделать переадресацию на 404.php в середине кода страницы без использования JS?
-
что значит в середине кода страницы???
Ну то, что функция header() в данном случае не подойдёт.
У меня на страницы есть условие, которое выполняется если ничего не найдено. Пишется: Ничего не найдено.
(И это не страница 404. Это вообще home.php)Я хочу сделать так, чтоб когда у меня «ничего не найдено», то была переадресация на 404
А теперь более ясно скажу.
Вот home.php:<?php /** * @package WordPress * @subpackage Motion */ get_header(); ?> <div id="main"> <div id="content"> <?php if (have_posts()) : ?> <?php while (have_posts()) : the_post(); ?> <?php if (function_exists('wp_list_comments')): ?> <div <?php post_class(); ?> id="post-<?php the_ID(); ?>"> <?php else : ?> <div class="post" id="post-<?php the_ID(); ?>"> <?php endif; ?> <div class="posttop"> <h2 class="posttitle"><a href="<?php the_permalink() ?>" rel="bookmark"><?php the_title(); ?></a></h2> <div class="postmetatop"> <div class="categs">Категория: <?php the_category(', ') ?></div> <div class="cleared"></div> </div><!-- /postmetatop --> </div><!-- /posttop --> <div class="postmetabottom"> <div class="date"><div class="zadate"><?php the_time('d/m/Y') ?></div></div> <div class="readmore"><span><a href="<?php the_permalink() ?>">информация о товаре</a></span></div> <div class="cleared"></div> </div><!-- /postmetabottom --> </div><!-- /post --> <?php endwhile; ?> <?php else : ?> <div class="post"> <div class="posttop"> <h2 class="posttitle"><a href="#">Не найдено</a></h2> </div><!-- /posttop --> <div class="postcontent"> <p>К сожалению, по Вашему запросу ничего не найдено.</p> </div><!-- /postcontent --> </div><!-- /post --> <?php endif; ?> <div id="navigation"> <?php if(function_exists('wp_pagenavi')) { ?> <?php wp_pagenavi(); ?> <?php } else { ?> <div class="alignleft"><?php next_posts_link('« Предыдущие записи') ?></div> <div class="alignright"><?php previous_posts_link('Следующие записи »') ?></div> <?php } ?><!-- end of pagenavi conditional statement --> <div class="cleared"></div> </div><!-- /navigation --> </div><!-- /content --> <?php get_sidebar(); ?> </div><!-- /main --> <?php get_footer(); ?>
Видишь строчку
<p>К сожалению, по Вашему запросу ничего не найдено.</p>
? Она выводится если выполняется определённое условие. Мне нужно, чтоб вместо этой строчки была переадресация.создайте в папке шаблона 404.php и почитайте тут
а переадресация делается функцией wp_redirect(); но скорее всего если это делать уже после вывода выдаст ошибку, т.к. заголовки уже отправлены
Misha1990
Вы уже не в первый раз нарушаете правила.
Не читали, что ли?
Следующее нарушение будет последним.В текущей постановке задача некорректна. Как уже заметил Camarade, переадресацию нужно делать до вывода на экран. Какого эффекта вы хотите достичь в конечном итоге?
Atrax, Извиняюсь за нарушение правил.
Sergey Biryukov, я уже решил более менее поставленную задачу с помощью:
<meta http-equiv="refresh" content="0; url=<?php echo get_bloginfo('url'); ?>">
А некорректность задачи из за того, что я просто не смог нормально всё объяснить(Спасибо, что поделились.
- Тема «Переадресация на 404.php» закрыта для новых ответов.