rad1us
@rad1us

Ошибка — «Call to undefined function get_header()» в Wordpress. Как победить?

Сверстал шаблон блога. Начал его переносить в wordpress (до этого ни с одной CMS ни разу не работал). Сделал index.php, header.php, sidebar.php, footer.php и в индекс.пхп в нужные места прописал функцию вызова header, footer и sidebar. Плюс сделал цикл для вывода статей на главной. Вобщем дошел до этапа создания single.php, она по идее у меня должна вызываться при клике на ссылку внизу поста с главной страницы. Вобщем создал файл, так же как и в индекс.пхп сделал вызов неизменных частей шаблона - header, sidebar и footer, но теперь у меня при клике на мою ссылку, которая должна вызывать single.php выходит ошибка:
Fatal error: Call to undefined function get_header() in X:\home\cite1.ru\www\wordpress\wp-content\themes\mytheme\single.php on line 1

Если убрать первую строку, на которую он ругается, то он начнет ругаться на следующие функции пхп и так далее. При этом, если убрать весь пхп код, то страница выводится, но без стилей (что и понятно).
Как победить эту ошибку и что я делаю не так?
Вот мой single.php
<?php get_header(); ?>
			<div class="page-wrapper">
				<div class="left">
				
				<?php if (have_posts()) : ?>
				<?php while (have_posts()) : the_post(); ?>
				
					<div class="post">
						<div class="date"><?php the_time('j M Y');?></div>	
						<h1 class="title"><a href="#"><?php the_title();?></a></h1>	
						<div class="tag"><a href="#"><a></div>
						<div class="content">
							<?php the_content();?>
						</div>	
					</div>
					
				<?php endwhile; /* rewind or continue if all posts have been fetched */ ?>
				<?php else : ?>
				<?php endif; ?>		
				
		        </div>
<?php get_sidebar(); ?>				
				<div class="clearfix">
				</div>
			</div>
<?php get_footer(); ?>


Вот код header.php
<!DOCTYPE html>
	<html>
		<head><link href="\wordpress\wp-content\themes\mytheme\style\style.css" rel="stylesheet">
			<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
		</head>
		<body>
			<div class="header-wrapper">
				<div class="header">
					<div class="logo-wrapper">
						<a href="\wordpress\wp-content\themes\mytheme\index.php">Блог</a>
					</div>
					<div class="menu-wrapper">
						<ul class="menu">
							<li><a href="#">Карта сайта</a></li>
							<li><a href="#">Полезное</a></li>
							<li><a href="#">Контакты</a></li>
						</ul>
					</div>
				</div>
			</div>
  • Вопрос задан
  • 11734 просмотра
Решения вопроса 1
rad1us
@rad1us Автор вопроса
Уффф, разобрался наконец-то, проблема была в следующем: ссылка вида
<a href="\wordpress\wp-content\themes\mytheme\single.php">читать далее</a>
Не работает.
Нужно было писать так:
<a href="<?php the_permalink() ?>">читать далее</a>
Таким образом wp понимает что нужно загрузить в single.php пост, находящийся сейчас в цикле и отобразить его.

Все просто оказалось. Надеюсь еще кому-нибудь поможет.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
@eskrano
может быть что то с темой шапки нету или что то не проинклудил. Вообще не страдайте фигней, забейте на вп этот.
Ответ написан
Punkie
@Punkie
Поставьте параллельно вот эту тему: underscores.me
Если в ней тоже не будет работать, значит у вас проблема с дистрибутивом вордпресса. Перекачайте свежий с сайта.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы