0

我正在尝试拥有一个 wordpress 页面画廊。

代码应该获取某个页面的所有子页面,并返回带有页面缩略图及其名称的结果。缩略图必须是可点击的链接。

我已经到了这一点,并且被卡住了:

 <?php $pages = get_pages(array('child_of' => 8)); ?>  

        <?php foreach ($pages as $page): ?> 
            <h1><?php echo $page['post_title'] ?></h1> 
            <a href="<?php echo $page['guid'] ?>"><img src="" /></a> 
        <?php endforeach; ?>
4

1 回答 1

2

欢迎来到堆栈溢出。第一件事是第一件事:如果您有任何未来的问题想在 SO 上提出,说“它不起作用”并不能告诉我们任何事情。如果你的车有问题,你会去维修店说“我的车坏了,告诉我怎么了”?

请记住这一点。

要回答您的问题,从 get_pages 或 get_posts (或任何标准 WP 查询对象)返回的项目不是关联数组。它们是对象。像这样访问它们:

<?php
$pages = get_pages(array('child_of' => 8));
foreach($pages as $page):
?> 
    <h1><?php echo $page->post_title; ?></h1> 
    <a href="<?php echo $page->guid; ?>"><img src="" /></a> 
<?php
endforeach;
?>

更新:你正在做的事情并不坏,但它很草率。这也不是你的错,因为它发生在每个 Wordpress 的新手身上。

您所做的是基本上创建了一个没有内容的“空白”页面,并且您的意图是将其用作页面存档模板的一种外壳(每个页面都是绘画页面的子页面)。实际上,您甚至不需要这样做。

从主菜单中的类来看,您正在使用菜单对象(位于外观-> 菜单中)在页面顶部创建菜单栏。这非常好,并且是生成菜单的最佳方式。

至于以“Wordpress 友好”的方式生成您的绘画档案,您应该创建一个类别(帖子-> 类别),将其命名为“绘画”,然后单击添加新类别按钮。

然后,获取您已经创建的所有绘画页面,将它们移至新帖子,并为您创建的每个帖子选择“绘画”选项。

完成后,您可以在菜单对象中为绘画类别切换空的绘画页面(现在在类别选择器的左侧可用)。这将创建一个链接,告诉 Wordpress 和您的主题仅查询“绘画”类型的帖子并将结果汇​​总到一个页面上,这就是您想要的。

这样做的好处是,如果您想将每幅绘画进一步分类为不同的子类别,您也可以这样做。例如,您可以将名为“水彩”的新类别设为“绘画”的子类别,并使用该类别标记所有水彩文章。

您拥有的主题本身似乎并不坏。在尝试拆分或从头开始创建自己的代码之前,最好先习惯 Wordpress 流程和组织。

让我知道这是否有帮助。

于 2012-07-26T00:33:58.443 回答