包含主题核心文件

  我们已经知道,WordPress主题是从许多不同的模板文件构建的。这些文件通常包括sidebar.php,header.php和footer.php。这些文件都是使用模板标签调用的,例如:

  get_header()

  get_footer();

  get_sidebar();

  我们可以通过自定义文件名称来调用这些文件的自定义版本sidebar-{your_custom_template}.php,header-{your_custom_template}.php以及footer-{your_custom_template}.php。然后,我们可以使用自定义模板名称作为调用模版函数的唯一参数来包含这个文件,如下所示:

  get_header('your_custom_template');

  get_footer('your_custom_template');

  get_sidebar('your_custom_template');

  WordPress通过汇编各种文件来创建页面。除了页眉,页脚和侧边栏的标准文件之外,我们还可以使用get_template_part()来在主题的任何位置调用模版文件片段。要在主题中创建自定义模板文件,请为文件指定一个合适的名称,并使用与标题,侧栏和页脚文件相同的自定义模板系统,如:

  slug-template.php

  例如,如果我们要创建一个自定义模板来显示发布的内容,我们可以创建一个名为content.php的模版文件,然后通过给这个文件名加后缀的方式创建自自定义模版片段文件,如:content-product.php。然后,我们就可以在主题中加载此模板文件了,如下所示:

  get_template_part('content','product');

  如果我们想让这些模版文件更加有序,例如,我们为不同的文章类型添加了各自的模版文件,我们可以创建一个content-templates的目录,然后把文章类型模版片段放到这个目录中。

  我们使用的主题的主题层次结构my-theme可能如下所示。style.css和page.php包含在上下文中。

  themes

  my-theme

  content-php

  content-location.php

  content-product.php

  content-profile.php

  style.css

  要包含您的内容模板,我们需要将目录名称添加到slug参数中,如下所示:

  get_template_part('content-templates/content','location');

  get_template_part('content-templates/content','product');

  get_template_part('content-templates/content','profile');

  到主题目录的链接

  要链接到主题的目录,我们可以使用以下函数:

  get_theme_file_uri();

  如果我们没有使用子主题,此函数将返回主题主文件夹的完整URI。我们可以使用它来引用主题中的子文件夹和文件,如下所示:

  echo get_theme_file_uri('images/logo.png');

  如果我们使用的是子主题,则此函数将返回子主题中文件的URI(如果存在)。如果在子主题中找不到该文件,该函数将返回父主题中文件的URI。在分发主题时或在子主题可能激活或未激活的任何其他情况下,请务必记住这一点。

  要访问主题目录中文件的路径,可以使用以下函数:

  get_theme_file_path();

  与get_theme_file_uri()一样,这个函数将返回子主题中文件的路径(如果存在)。如果在子主题中找不到该文件,该函数将返回父主题中文件的路径。

  在子主题中,我们可以使用以下函数链接到父主题目录中的文件URI或路径:

  get_parent_theme_file_uri();

  get_parent_theme_file_path();

  与get_theme_file_uri()一样,我们也可以像这样引用子文件夹和文件:

  echo get_parent_theme_file_uri('images/logo.png');

  //or

  echo get_parent_theme_file_path('images/logo.png');

  引用可能不存在的文件时要小心,因为这些函数将返回URI或文件路径,无论文件是否存在。如果文件丢失,这些函数将返回断开的链接。

  函数get_theme_file_uri(),get_theme_file_path(),get_parent_theme_file_uri(),get_parent_theme_file_path()是在WordPress 4.7中引入的。

  对于以前的WordPress版本,请使用get_template_directory_uri(),get_template_directory(),get_stylesheet_directory_uri(),get_stylesheet_directory()。

  请注意,较新的4.7版本中的函数无论如何都会运行旧函数作为检查过程的一部分,因此在可能的情况下使用较新的函数是有意义的。

  模板中的动态链接

  无论我们的固定链接如何设置,我们都可以通过引用文章ID来将链接发布到页面。如下:

  <a href="https://www.wpzhiku.com/document/linking-theme-files-directories/&lt;?php echo get_permalink($ID);?>">这是一个链接</a>

  这是一种创建页面菜单的便捷方式,因为您可以在不破坏链接的情况下更改页面大小,因为ID将保持不变。但是,这可能会增加数据库查询。

  更多技术教程,请关注技术教程网www.jishujc.com