我在编写自己的WordPress主题时遇到了一个问题,我需要你的帮助。
我定义了author.php
应该显示给定作者的静态页面和博客页面的文件。你必须知道,我们的网站有很多分、次、甚至次分页面。所有这些页面都是由“网站管理员”帐户发布的。在这些页面中,我们的内容页面位于其中。这些子页面由不同的作者发布,应该显示在作者页面上。
示例:
实践课程(网站管理员)
化学(网站管理员)
定性分析(网站管理员)
阴离子的证明(网站管理员)
硫化物(作者)
碳酸盐岩(作者)
阳离子的证明(网站管理员)
在本例中,“硫化物”页面将是实际内容。并且该页面应该在发布id的作者的作者页面上可见。
我现在添加了以下代码以显示特定作者的页面:
不幸的是,每个作者的每个页面都会被返回,而不仅仅是该特定作者发布的页面。$author_id = $_GET[\'author\']; $args = array( \'sort_order\' => \'asc\', \'sort_column\' => \'post_title\', \'authors\' => $author_id, \'post_type\' => \'page\', \'post_status\' => \'publish\' ); $pages = get_pages( $args ); foreach ( $pages as $page ) { ?> <div class="col-md-4 article-item" style="cursor: pointer;" onclick="location.href=\'<?php echo get_page_link( $page->ID ); ?>\'"> <h4><?php echo $page->post_title; ?></h4> <?php if ( has_post_thumbnail($page->ID) ) { echo get_the_post_thumbnail( $page->ID, \'post-thumbnail\', array( \'class\' => \'col-img\' ) ); } else { echo \'<img src="https://placehold.it/200x200?text=Icon" class="col-img wp-post-image round" />\'; } ?> <p class="excerpt"><?php echo $page->post_excerpt; ?></p> </div> <?php } ?>
如果我将ID硬编码为一个特定的值-一个在我们这边发布了一些内容页的作者-(
$author_id = 2;
) 未返回任何内容。但是如果硬编码站长的ID,则会显示站长的所有帖子(没有作者发布的内容帖子)!因此,它似乎依赖于这样一个事实,即内容页是子页面。对我来说,WordPress首先检查父页面是否由给定ID发布。如果有,它会检查这些父页面是否有由相同ID发布的子页面。在我的例子中,它检查ID“2”的作者是否发布了一个父页,并得到一个布尔值“false”,因此甚至不检查以查找子页。。。
您知道如何编辑查询,以便即使父页面由其他作者发布,也会返回子页面吗?
提前感谢!