是否从home.php链接到index.php?

时间:2020-01-31 作者:icannotfly

我有家。php,显示来自两个显著类别的最新帖子。

在家的最底层。php,我有一个链接,上面写着“所有帖子”,我想让它指向所有帖子的列表。当我重命名home时。php和视图索引。相反,这是出现的。

如何在家中创建链接。有效指向索引的php。php?

提前谢谢。

1 个回复
最合适的回答,由SO网友:Jacob Peattie 整理而成

无法在模板之间链接。不是直接的。模板文件就是WordPress将用于根据URL呈现找到的帖子的文件。您可以在Template Hierarchy. 因此,要解决这个问题,我们需要确定页面何时显示“所有帖子”,以及如何链接到该页面。

我们需要做的第一件事是在“设置”>“读取”中设置正确的设置。您的评论提到,您将此设置用于在主页上显示您的最新帖子。这是不正确的。我们之所以知道这一点,是因为您希望在单击“所有帖子”链接时显示最新的帖子,而不是主页,主页根据自定义查询仅显示一些帖子。

因此,我们需要做的是创建一个页面,在“页面”下添加新页面,并将该页面设置为首页。然后我们需要创建另一个页面,并将其设置为Posts页面。

接下来要做的是确定我们需要的模板。如果查看上面链接的模板层次结构,我们可以看到站点首页将使用front-page.php 样板这是您应该用来显示“两个显著类别的最新帖子”的模板。因此,请复制当前home.php 模板导入front-page.php.

然后,对于“所有帖子”页面,我们可以在模板层次结构中看到博客索引页面将使用的home.php, 或(&M);如果这不存在—index.php. 所以如果index.php 正在显示“所有帖子”页面所需内容,您只需删除即可home.php.

因此,您应该可以使用front-page.php 显示所需类别中的帖子,以及显示所有最新帖子的“所有帖子”页面,使用index.php.

最后一步是获取指向所有帖子页面的链接。您可以通过以下方式获得最新帖子页面的链接:

<?php
$url = get_the_permalink( get_option( \'page_for_posts\' ) );

echo \'<a href="\'. esc_url( $url ) . \'">All Posts</a>\';
?>
get_option( \'page_for_posts\' ) 获取在“设置”>“阅读”中设置为“发布”页面的页面ID,以及get_the_permalink() 获取指向该页的链接。这将允许您在不破坏模板的情况下更改该页面的标题或slug。

相关推荐

由于“media.php中未定义的偏移量”而导致大量的调试.log

最近调试。日志(WP 5.3.2)增长到17GB,因为有大量这样的条目:【2020年1月17日16:29:01 UTC】PHP通知:未定义偏移量:1英寸/wp包括/介质。php在线790[2020年1月17日16:29:01 UTC]PHP注意:未定义偏移量:0英寸/wp包括/介质。php第69行【2020年1月17日16:29:01 UTC】PHP通知:未定义偏移量:1英寸/wp包括/介质。php在线70找出这些通知的确切原因的有效方法是什么?