我正在尝试构建自己的主题并将其上传到Wordpress,但我的single.php文件却根本不起作用。它只显示一个空白页面。我已经尝试了很多东西让它发挥作用,但现在我不知道该怎么做了。这是我的博客页面的php文件:
<?php
/**
*Template Name: Blog Posts
*/
get_header('header4'); ?>
<section id="headerbox">
<header>
<h2 class="referensrubrik">Nyheter</h2>
</header>
<p class="referenstext">Det senaste från AL Konsult.</p>
</section>
<main id="blog">
<?php // Display blog posts on any page @ http://m0n.co/l
$temp = $wp_query; $wp_query= null;
$wp_query = new WP_Query(); $wp_query->query('showposts=5' . '&paged='.$paged);
while ($wp_query->have_posts()) : $wp_query->the_post(); ?>
<article id="blogpost" id="post-<?php get_the_ID(); ?>" <?php post_class(); ?>>
<h2><a href="<?php the_permalink(); ?>" title="Läs mer" class="blogpost"><?php the_title(); ?></a></h2>
<h5><?php the_time('F jS, Y') ?> <!-- by <?php the_author() ?> --></h5>
<?php the_excerpt(); ?>
<hr>
</article>
<?php endwhile; ?>
<?php if ($paged > 1) { ?>
<nav id="nav-posts">
<div class="prev"><?php next_posts_link('« Previous Posts'); ?></div>
<div class="next"><?php previous_posts_link('Newer Posts »'); ?></div>
</nav>
<?php } else { ?>
<nav id="nav-posts">
<div class="prev"><?php next_posts_link('« Previous Posts'); ?></div>
</nav>
<?php } ?>
<?php wp_reset_postdata(); ?>
</main>
<?php get_footer(); ?>
&#13;
现在我的single.php看起来像这样(我已经试过了循环,但它只是不起作用......):
<?php
/**
* The Template for displaying all single posts.
*/
get_header('header3'); ?>
<section id="headerbox">
<header>
<h2 class="referensrubrik">Rubrik</h2>
</header>
<p class="referenstext">Text</p>
</section>
<?php
error_reporting(-1);
?>
<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
<article id="post-<?php the_ID(); ?>" <?php post_class(); ?>>
<h1 class="entry-title"><?php the_title(); ?></h1>
<div class="entry-content">
<?php the_content(); ?>
</div>
</article>
<?php endwhile; ?>
<?php get_footer(); ?>
&#13;
我做错了什么!?
答案 0 :(得分:1)
我修好了!适用于我的single.php代码如下所示:
<?php
/**
* The Template for displaying all single posts.
*/
get_header('header3'); ?>
<section id="headerbox">
<header>
<h2 class="referensrubrik">Rubrik</h2>
</header>
<p class="referenstext">Text</p>
</section>
<?php
$post = $wp_query->post;
while ($wp_query->have_posts()) : $wp_query->the_post(); ?>
<article id="blogpost" id="post-<?php get_the_ID(); ?>" <?php post_class(); ?>>
<h2><a href="<?php the_permalink(); ?>" title="Läs mer" class="blogpost"><?php the_title(); ?></a></h2>
<h5><?php the_time('F jS, Y') ?> <!-- by <?php the_author() ?> --></h5>
<?php the_content(); ?>
<hr>
</article>
<?php endwhile; ?>
<?php if ($paged > 1) { ?>
<nav id="nav-posts">
<div class="prev"><?php next_posts_link('« Äldre inlägg'); ?></div>
<div class="next"><?php previous_posts_link('Nyare inlägg »'); ?></div>
</nav>
<?php } else { ?>
<nav id="nav-posts">
<div class="prev"><?php next_posts_link('« Äldre inlägg'); ?></div>
</nav>
<?php } ?>
<?php wp_reset_postdata(); ?>
<?php get_footer(); ?>
&#13;
答案 1 :(得分:0)
您的模板标记位于块之外。
<!-- /*
Template Name: Blog Posts
*/ -->
<?php
应该是:
<?php
/*
Template Name: Blog Posts
*/
答案 2 :(得分:0)
确保标签外没有空格或回车(特别是在WP页面模板中):空格/回车将导致页面不能通过抛出异常来渲染(由于你不这样做,你很可能看不到已启用报告)。
具体来说,我指的是:
<!-- /*
Template Name: Blog Posts
*/ -->
它必须位于打开的PHP标记内,并且页面顶部不应有空行。
它应该看起来像(没有空行换行符):
<?php
/**
* The Template for displaying all single posts.
*/
require_once('../../../wp-load.php');
get_header('header3'); ?>
答案 3 :(得分:0)
从代码中删除以下行:
require_once('../../../wp-load.php');