我刚刚安装了最新的Wordpress版本(3.5.1),当我像往常一样添加循环时,它不会返回正常的结构。
这是我的php:
<?php get_header(); ?>
<?php
$pageid = get_query_var('page_id');
$postid = $post->ID;
?>
<?php if(have_posts()) : ?><?php while(have_posts()) : the_post(); ?>
<div class="wppost" id="post-<?php the_ID(); ?>">
<a href="<?php the_permalink(); ?>" title="<?php the_title(); ?>"><h1><?php the_title(); ?></h1></a>
<div class="wpentry"><?php the_content(); ?></div>
</div>
<?php endwhile; ?>
<div class="wpnavigation">
<?php posts_nav_link('','Föregående sida','Nästa sida'); ?>
</div>
<?php else : ?>
<div class="wppost" id="post-<?php the_ID(); ?>">
<h1><?php _e('Inlägget hittades inte'); ?></h1>
</div>
<?php endif; ?>
这通常有效。但它现在所做的只是返回&lt; p&gt; -elements。
它不会返回wppost,the_title,wpentry或其他任何内容,除了我在帖子中写的内容(目前只有文本)。
这是新事物还是我做错了什么?我已经完成了这几年,到目前为止它已经奏效了。我很难过。
这是来自header.php:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head profile="http://gmpg.org/xfn/11">
<title><?php bloginfo('name'); ?><?php wp_title(); ?></title>
<meta http-equiv="Content-Type" content="<?php bloginfo('html_type'); ?>; charset=<?php bloginfo('charset'); ?>" />
<meta name="generator" content="WordPress <?php bloginfo('version'); ?>" /> <!-- leave this for stats please -->
<link rel="stylesheet" href="<?php bloginfo('stylesheet_url'); ?>" type="text/css" media="screen" />
<link rel="alternate" type="application/rss+xml" title="RSS 2.0" href="<?php bloginfo('rss2_url'); ?>" />
<link rel="alternate" type="text/xml" title="RSS .92" href="<?php bloginfo('rss_url'); ?>" />
<link rel="alternate" type="application/atom+xml" title="Atom 0.3" href="<?php bloginfo('atom_url'); ?>" />
<link rel="pingback" href="<?php bloginfo('pingback_url'); ?>" />
<?php wp_get_archives('type=monthly&format=link'); ?>
<?php //comments_popup_script(); // off by default ?>
<?php wp_head(); ?>
</head>
<body>
<div id="container">
<div id="maincontainer">
<div id="header">
<a href="#" title="Descending Chaos"><img alt="Descending Chaos" src="<?php bloginfo('template_directory'); ?>/images/liveheader.png" /></a>
</div>
<div id="top">
<div id="menu">
<ul>
<?php wp_list_pages('title_li=','sort_column=menu_order'); ?>
</ul>
</div>
<div id="social">
<ul>
<li><a href="#" title=""><img alt="Descending Chaos on Spotify" src="<?php bloginfo('template_directory'); ?>/images/spotlogo.png" /></a></li>
<li><a href="#" title=""><img alt="Descending Chaos on Reverbnation" src="<?php bloginfo('template_directory'); ?>/images/reverblogo.png" /></a></li>
<li><a href="#" title=""><img alt="Descending Chaos on Facebook" src="<?php bloginfo('template_directory'); ?>/images/facelogo.png" /></a></li>
<li><a href="#" title=""><img alt="Descending Chaos on YouTube" src="<?php bloginfo('template_directory'); ?>/images/youlogo.png" /></a></li>
</ul>
</div>
</div>
编辑:使用更多代码更新了原始帖子。
答案 0 :(得分:0)
如果在循环之前运行<?php print_r( $post ); ?>
,您应该能够看到查询。如果它没有返回任何内容,那么查询就会出现问题。你在这里得到的代码看起来很好。
答案 1 :(得分:0)
我将您的代码添加到我的开发网站并且它在那里工作,所以我不认为这是您的代码的问题。
尝试在循环之前放置<?php wp_reset_query(); ?>
。可能$wp_query
和global post data
在你的循环之前被修改了,需要恢复。