了解WordPress主题文件和下划线

时间:2016-03-28 作者:9Algorithm

我刚刚开始学习wordpress。我决定和underscores starter主题开发我自己的自定义主题。我有一些问题。

我想在文件中有我的问题的答案,但第一次研究的信息似乎太多了。我只是越来越糊涂了。因此,我需要一个直接而清晰的答案来帮助我深入了解文档,然后有一个初步的了解。

The question is:

我已经安装了underscores 我的wordpress网站上的主题。

在此之后,我创建了两个页面(page1page2).

我已分配page1 作为我的front 第页和page2 作为我的posts 然后翻页。

这个index.php 文件包含以下代码:

get_header(); ?>

<div id="primary" class="content-area">
    <main id="main" class="site-main" role="main">

    <?php
    if ( have_posts() ) :

        if ( is_home() && ! is_front_page() ) : ?>
            <header>
                <h1 class="page-title screen-reader-text"><?php single_post_title(); ?></h1>
            </header>

        <?php
        endif;

        /* Start the Loop */
        while ( have_posts() ) : the_post();

            /*
             * Include the Post-Format-specific template for the content.
             * If you want to override this in a child theme, then include a file
             * called content-___.php (where ___ is the Post Format name) and that will be used instead.
             */
            get_template_part( \'template-parts/content\', get_post_format() );

        endwhile;

        the_posts_navigation();

    else :

        get_template_part( \'template-parts/content\', \'none\' );

    endif; ?>

    </main><!-- #main -->
</div><!-- #primary -->
但当我进去的时候mysite.com/index.php, 页面上没有帖子(但据我所知,代码必须对其进行解压缩)。这是我在创建页面时输入的文本。

以及page2 (位于mysite.com/page2/) 不显示标题和帖子导航。

所以我不明白:

1) 为什么在我说话的时候mysite.com/index.php 我在创建页面时看到了输入的文本,但在index.php 文件

2) 为什么single_post_title() 函数不返回某些内容?

3) 邮递导航在哪里?在index.php 文件

4) 是posts page 以及home page 是同一页吗?

5) 如何index.php 文件工作?它控制front page 以及post page (也许还有更多的页面)同时?我不明白。

提前感谢!

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

1) Why when I\'m adressing mysite.com/index.php I see the text I\'ve entered while creating the page, but there\'s no code for that in the index.php file?

您已将第1页指定为首页,因此它将显示而不是索引。php。您需要创建页面模板:

https://developer.wordpress.org/themes/template-files-section/page-template-files/page-templates/

如果要编辑页面的代码。或者,您可以使用短代码添加到页面的内容部分。

2)Why the single_post_title() function doesn\'t return something?

同样,可能是因为您没有查看索引。php也不在循环中,但我想可能不需要。

3) Where\'s the post navigation? There\'s code for that in the index.php file

这也是因为你们并没有看到索引。查看第1页时呈现的php。

4) Are the posts page and the home page are the same pages?

不太可能,您可以将自己的主页设置为一个页面,并为其创建一个独特的页面模板,就像您可以为帖子页面创建模板一样。如果不设置首页,则默认为索引。php

5) How does the index.php file work? It controls the front page and the post page (and maybe some more pages) at the same time? I don\'t get it.

我想我已经回答了上面的问题!!

基本上你需要创建一个页面模板,复制和粘贴索引的内容。当登录到管理区域时,在页面上设置该页面模板,然后对页面模板所做的任何更改都将显示在主页上。

在站点的根目录中创建一个名为:page-templates

在此文件夹中创建页面模板,例如:home-template.php

在这里,最上面写着:

<?php
/**
* Template Name: Home Template
*/
?>
然后,粘贴索引的内容。php,保存并上传文件等。

然后登录,前往编辑页面屏幕,您将其设置为首页,右侧应该有一个带有页面模板选项的选择框:

Set template

发布页面,您就完成了!

相关推荐