0

网站的布局方式是这样的(只是为了让你得到一个表示)

----------------------------------
| Name of the Work               |
----------------------------------
| Our Work | the content         |
|          |                     |
|          |                     |
|          |                     |
|          |                     |
|          |                     |
|          |                     |
|          |                     |
-----------------------------------

现在,作品的名称和内容都可以正常使用,但是我的侧边栏(“我们的作品”)不起作用。我的意思是,sidebar.php 确实显示,但 the_title 列表只显示我所在页面的标题。

例如,如果我在 ProjectA 上,那么在“我们的工作”下它只会显示 ProjectA。ProjectB、ProjectC 等也是如此。

我目前使用的代码是这样的:

<?php if (have_posts()):; ?>
<?php while (have_posts()) : the_post(); ?>    
    <ul>
        <a href="<?php the_permalink(); ?>"><li><?php the_title(); ?></li></a>
    <ul>
<?php endwhile; ?>

我使用了 query_posts('posts_per_page=x'); 但最终发生的是 the_content 显示了我不想要的其他帖子的 the_content !

4

1 回答 1

1

您当前用于循环的代码基本上是页面的主循环。它不查询一组特定的帖子。您需要为此添加一些参数。试试下面的循环:

<ul>
<?php 
    $query = new WP_Query(array('post_type' => 'post', 'posts_per_page' => -1, 'orderby' => 'post_date', 'order' => 'ASC'));
    while ( $query->have_posts() ) : $query->the_post();
?>

    <li><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></li>

<?php endwhile; wp_reset_postdata(); ?>
<ul>

有几点需要注意。您的<ul></ul>标签需要在循环之外,否则您将为<ul></ul>循环内的每个项目添加一个新标签。您只需要创建新的列表项,而不是全新的列表。

在该行'post_type' => 'post'中,您可以更改post为您想要的任何帖子类型的名称。 post只会在您的 WP 管理员中查询主要的“帖子”。

<li></li>我还更正了循环内 的 html 语法。

这个循环不会改变主循环,而是创建一个新循环来显示您选择的内容。

于 2013-08-14T14:35:47.313 回答