如何获得一个WordPress模板文件插入不同的图像基于当前页面?



我有一些页面(100),这些页面都是在可视化编辑器(DIVI)中单独构建的。他们每个人都有一组10-15个不同的图像,插入一个相同的"包装"。除了图片,页面都是一样的——这是我的第一个网站,所以当我开始的时候,我知道没有比这种方法更好的了。正如我现在所理解的,我可以为这些页面使用自定义页面模板,以便更轻松地进行可伸缩性/重新设计。

我了解如何创建一个template.php页面,它可以拉必要的页面元数据来填充每个页面的标题/副标题等。我正在考虑编写一个for循环,将页面的每个图像插入重复的"包装器"。然而,我不确定模板将如何知道哪些图像传递到这个循环基于页面访问?

我有一些想法关于如何做(我很没有经验):
)听我wp-uploads文件夹来匹配我的站点地图,让模板中的所有图片插入路径相匹配的蛞蝓
b)上传所有图片的每个页面到页面后端(不知道这是可能的),得到模板插入所有图片与页面相关联的问题
c)让模板遍历数据库表包含所有图片的名称匹配只插入与当前页id

匹配的页id。如果这改变了什么,那么所有100个页面都是pageX的子页面,并且它们的段代码以一个普通单词开头。如:

mysite.com/pageX/commonword-page1/

mysite.com/pageX/commonword-page2/

既然有这么多页面,我就不使用if语句了。处理这个问题的最好方法是使用高级自定义字段并设置一个图像字段来显示页面的帖子类型。然后,在代码中调用自定义字段,这样每个页面都会动态显示各自的图像。你可以在WordPress网站的插件库中找到ACF,或者直接从他们的网站上下载。

这里是图像字段的文档:https://www.advancedcustomfields.com/resources/image/

最干净的方法是设置字段使用图像的URL。下面是代码中的内容:

<?php if( get_field('field_slug') ): ?>
<img src="<?php the_field('field_slug'); ?>" />
<?php endif; ?>