WordPress主题开发(六)之

WordPress 主题开发中,模板文件扮演了至关重要的角色,用于定义网站的外观和内容排列方式。在本文中,我们将深入探讨 WordPress 模板文件的各个方面,包括如何创建自定义模板以及如何链接到主题目录中的文件。

WordPress 主题由多个模板文件构建而成,这些文件控制着网站的各个部分。其中一些常见的模板文件包括:

  • header.php:网站页头模板,通常包含文档类型、元信息、样式表、脚本链接等。
  • footer.php:网站页脚模板,用于显示底部信息和脚本。
  • sidebar.php:网站侧边栏模板,用于显示侧边栏内容。
  • index.php:主模板文件,用于显示大多数页面的内容。

这些模板文件是通过模板标签进行调用的,例如:

get_header();  get_footer();  get_sidebar();  

有时,您可能需要为特定页面或内容类型创建自定义模板。以下是两种常见的方法:

您可以通过在文件名中添加自定义模板名称来创建自定义版本的标准模板文件,例如 header-your_custom_template.php。然后,使用您的自定义模板名称作为模板函数的参数,如下所示:

get_header('your_custom_template'); 

同样,您也可以自定义页脚和侧边栏模板。

get_template_part() 函数允许您在主题中的任何位置调用模板文件片段。要创建自定义模板文件,请为文件指定一个合适的名称,例如 content.php,然后为不同的内容类型创建自定义版本,如 content-product.php

然后,可以使用 get_template_part() 函数在主题中加载这些模板文件,如下所示:

get_template_part('content', 'product'); 

如果您希望更有条理地组织这些模板文件,可以创建一个 content-templates 目录,并将相关的模板片段文件放在其中。

有时,您可能需要在主题文件中引用主题目录中的文件,例如图像、样式表或脚本。以下是一些有用的函数:

  • get_theme_file_uri():用于获取主题目录中文件的完整 URI,适用于主题主文件夹中的文件。
echo get_theme_file_uri('images/logo.png'); 
  • get_theme_file_path():用于获取主题目录中文件的路径,适用于主题主文件夹中的文件。
echo get_theme_file_path('images/logo.png'); 

如果您正在使用子主题,上述函数将优先返回子主题中的文件 URI 或路径,如果在子主题中找不到文件,它们将返回父主题中的文件 URI 或路径。请谨慎处理可能不存在的文件,以避免错误。

对于旧版本的 WordPress,您可以使用以下函数:

  • get_template_directory_uri():获取主题目录的 URI。
  • get_template_directory():获取主题目录的路径。
  • get_stylesheet_directory_uri():获取样式表目录的 URI(适用于子主题)。
  • get_stylesheet_directory():获取样式表目录的路径(适用于子主题)。

请注意,较新版本的 WordPress 会自动运行旧函数作为检查过程的一部分,因此尽量使用较新的函数是有意义的。

无论您的固定链接设置如何,都可以使用文章 ID 来创建链接到页面的链接。例如:

<a href="<?php echo get_permalink($ID); ?>">这是一个链接</a> 

这种方法对于创建页面菜单很方便,因为您可以更改页面的大小而不破坏链接,因为 ID 将保持不变。但是请注意,这可能会增加数据库查询。

通过了解 WordPress 模板文件的工作原理以及如何创建和链接到自定义模板,您可以更好地掌控您的 WordPress 主题的外观和布局,使其更符合您的需求。

原文链接:https://blog.csdn.net/weixin_38912950/article/details/133283358?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522171852351316800186572359%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fblog.%2522%257D&request_id=171852351316800186572359&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~blog~first_rank_ecpm_v1~times_rank-16-133283358-null-null.nonecase&utm_term=wordpress%E4%B8%BB%E9%A2%98

© 版权声明
THE END
喜欢就支持一下吧
点赞15 分享