0

我刚刚安装了最新的 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&ouml;reg&aring;ende sida','N&auml;sta sida'); ?>
        </div>
    <?php else : ?>
      <div class="wppost" id="post-<?php the_ID(); ?>">
        <h1><?php _e('Inl&auml;gget hittades inte'); ?></h1>
      </div>
  <?php endif; ?>

这通常有效。但它现在所做的只是返回 < p >-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>

编辑:用更多代码更新了原始帖子。

4

2 回答 2

0

我将您的代码添加到我的开发站点并且它在那里工作,所以我认为您的代码没有问题。

尝试<?php wp_reset_query(); ?>在循环之前放置。也许$wp_queryglobal post data在您的循环之前进行了修改,需要恢复。

于 2013-05-09T07:13:02.670 回答
0

如果您<?php print_r( $post ); ?>在循环之前运行,您应该能够看到查询。如果它没有返回任何内容,则说明查询有问题。你在这里得到的代码看起来不错。

于 2013-05-08T17:39:17.580 回答